Flutter/Firebaseをフル活用してアプリを作った時の審査の苦労話

先日、猫好きのためのSNS写真投稿アプリを作りました。

スピード重視でFirebase/Flutterを駆使し、開発したのですがアプリ申請が久しぶりだったので審査に手間取ったのでその内容をご紹介します。

Apple審査時のあれこれ

reject1回目: Apple認証ができない

Guideline 2.1 - Performance - App Completeness

We discovered one or more bugs in your app. Specifically, the app displayed an error message when we attempted to sign in with Apple. Please review the details below and complete the next steps.

Review device details:

- Device type: iPad
- OS version: iOS 14.4.2

レビューに出すと上記のように却下されました。
こちらの端末では特に問題なかったので異議申し立てをいたしましたが、下記も設定して試しています。

Firebase ConsoleのAuthenticationでApple認証設定のコールバックが設定されていなかったのでApple Developerで設定(よく見ると下記が記載ありました)

設定を完了するには、Apple Developer Console でこの認証コールバック URL をアプリの構成に追加してください。Apple に対してこのウェブドメインの所有権を検証するには、追加の手順が必要になる場合があります。

reject2回目: Apple認証のガイドラインが…

Guideline 4.0 - Design

Your app offers Sign in with Apple as a login option but does not use the appropriate Sign in with Apple button design, placement, and/or user interface elements. Specifically:

Specifically, you use “Sign In Apple”. It is appropriate to use the following wordings:

- “Sign in with Apple“
- “Sign up with Apple“

Next Steps

Please revise the Sign in with Apple buttons in your app so that they are compliant with the App Store Review Guidelines and the Sign in With Apple Human Interface Guidelines.

すっかり漏れてましたが、Apple認証のデザインは厳しいのでHuman Guidelineを見てみてください。

ちなみに最初のデザインは下記になります。(それはだめだろうなと)

reject3回目: 許諾モーダルの言語

カメラの許諾などの言語を全て英語にしておりました。

Guideline 4.0 - Design


We noticed an issue in your app that contributes to a lower quality user experience than Apple users expect:

- Your app's modal alerts of camera and photos are still written in English while the app is set to the Japanese localization. To help users understand why your app is requesting access to a specific feature, your app's modal alerts should be in the same language as your app's current localization.

Next Steps

To resolve this issue, please revise your app to address all instances of this type of issue.

Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage


We noticed that your app requests the user’s consent to access the camera and photos, but doesn’t sufficiently explain the use of the camera and photos in the purpose string.

Specifically, it needs to be specific and provide an example why your app requests to access user's camera and photos.

To help users make informed decisions about how their data is used, all permission request alerts need to specify how your app will use the requested information.

Human Interface Guidelinesをみて対応してみる
今回は日本語のみサポートなので下記のように修正

<key>NSCameraUsageDescription</key>
<string>アップロードする写真を撮るために使用されます</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>アップロードする写真を選択するために使用されます</string>

4度目で無事リリース

今回Apple認証が初めてだったので色々苦労した印象でした。

そんなに調べずに実装しましたが、レビューも丁寧に教えてくれていたので時間があればどこまで審査通過できるかカスタマイズするのもいいかもしれません。

レビューも申請時点では1日(長くて1.5日)で返信が返ってきていたのでかなりスピーディでした。

Google Play審査時のあれこれ

こちらは審査が入りますが、とにかく遅い(申請時は特に遅延が発生)ので丸5日経ってようやく公開できました。

Googleさん…なんとかしてくれ….

ダウンロードはこちら

下記よりダウンロードできますので、ぜひ利用してみてください。

Petective – 保護猫専用写真共有アプリ

コメントを残す

メールアドレスが公開されることはありません。