🦅

Flutter製のiOSアップロードに失敗する|Error ITMS-90717

2020/10/14に公開

発生した問題

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は透過なしの画像を設定すれば、以下のように自動で角丸の画像を生成してくれます。

icon.png

しかし、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