はじめに
先日、FlutterアプリをApp Storeに提出したところ、審査でリジェクトされてしまいました。主な原因はアプリアイコンが設定されていないことでした。この記事では、その解決方法と正しいアプリアイコンの設定方法について共有したいと思います。
リジェクトの詳細
App Store Connectから以下のような内容で審査結果が返ってきました。
Guideline 2.3.8 - Performance - Accurate Metadata
The app or its metadata does not appear to include final content. Specifically, the app icons appear to be placeholder icons.
Next Steps
To resolve this issue, please ensure all the app icons are finalized and similar enough to each other to avoid creating confusion. When users search for the app on their devices, they should be able to recognize it.
(和訳)
アプリまたはそのメタデータに最終的なコンテンツが含まれていないようです。具体的には、アプリアイコンがプレースホルダーアイコンのようです。
次のステップとして、すべてのアプリアイコンを完成させ、混乱を避けるために互いに十分に類似したものにしてください。ユーザーがデバイスでアプリを検索する際に、認識できるようにする必要があります。
Guideline 2.3.10 - Performance - Accurate Metadata
また、デバッグバナーに関する指摘も受けました:
We noticed your submission includes irrelevant references to your app's development process. Specifically, your screenshots includes debug banners.
(和訳)
提出されたアプリに開発プロセスに関する不適切な参照が含まれていることに気付きました。具体的には、スクリーンショットにデバッグバナーが含まれています。
上図のように画面右上にdebugという文字列が含まれてしまっています。
解決手順
1. Flutter プロジェクトでのアイコン設定
1.1 flutter_launcher_icons パッケージの追加
まず、アイコン生成を自動化するためのパッケージを追加します。
flutter pub add flutter_launcher_icons --dev
注意: flutter_launcher_icons
は開発時にのみ必要なパッケージなので、dev_dependencies
として追加します。
1.2 設定ファイルの作成
プロジェクトのルートディレクトリにflutter_launcher_icons.yaml
を作成します:
flutter_launcher_icons:
ios: true
image_path: "assets/icon/app_icon.png"
remove_alpha_ios: true
1.3 アイコンの生成
以下のコマンドを実行して、アイコンを生成します:
flutter pub get
flutter pub run flutter_launcher_icons
これでアイコンが設定されます。
2. デバッグバナーの削除
デバッグバナーを非表示にするため、main.dart
で以下のように設定します:
void main() {
runApp(
MaterialApp(
debugShowCheckedModeBanner: false, // デバッグバナーを非表示
home: MyApp(),
),
);
}
この状態でアプリケーションを動かしてスクリーンショットを撮ると上図のようなdebugという文字列が含まれない画像を取得できます。こちらの画像をApp Storeに提出しましょう。
まとめ
今回の経験から、以下のポイントが重要だと分かりました。
- App Storeの審査では、アプリアイコンの設定は必須要件
- デバッグバナーを非表示にした画像を提出する
これらの手順を踏むことで、アプリアイコンとデバッグバナーに関する審査は問題なくパスできるはずです。