発生した問題
FlutterでiOSビルドして、App Store Connectにアップロードする時にエラーが発生しました。
どうも、App Storeのアイコンには透過を含めないでほしいとのことでした。
iTunes Store Operation Failed
Error ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'Runner.app' can't be transparent nor contain an alpha channel."
環境
- macOS Catalina 10.15.1
- Xcode 11.4
- Flutter 1.17.0
結論
アイコン画像を透過のないものに変更したのち、flutter_launcher_iconsでアイコン画像を更新する。
$ flutter pub get
$ flutter pub run flutter_launcher_icons:main
TIPS
iOSは透過なしの画像を設定すれば、以下のように自動で角丸の画像を生成してくれます。
しかし、Androidは自分で角丸の画像を設定しないと正方形の画像がストアやランチャーアイコンに指定されます。加えて、Androidの場合は、星型やハート型など任意の形のアイコンを指定することが可能です。
そのような場合は、 pubspec.yaml
でiOSとAndroidのそれぞれでアイコン画像を指定してあげればOKです。
pubspec.yaml
flutter_icons:
android: true
image_path: "assets/icon/icon.png"
ios: true
image_path_ios: "assets/icon/ios-icon.png"