🦅
Flutter製のiOSアップロードに失敗する|Error ITMS-90717
発生した問題
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です。
flutter_icons:
android: true
image_path: "assets/icon/icon.png"
ios: true
image_path_ios: "assets/icon/ios-icon.png"
Discussion