Flutter ipaをApp Store Connectにアップロード
Build and release an iOS app | Flutter
を読んでいきます。
バンドルIDの作成とか、新規Appの追加などは、特に難しい内容はないはず。
ただ、ここに、
https://docs.flutter.dev/deployment/ios#create-an-application-record-on-app-store-connect
Since Flutter does not currently support tvOS, leave that checkbox unchecked. Click Create.
という記述があって、そりゃそうだなと思いながら、勢い余って、チェック入れないように気をつけました。
で下記が重要な設定で
https://docs.flutter.dev/deployment/ios#review-xcode-project-settings
Runner.xcworkspaceをXcodeで開いて編集します。
この辺りは、pubspec.yamlに書いてうまいことやってくれるわけではないようです。
続いて、Signing & Capabilitiesの部分ですが、Automatically manage signing
にチェックが入ったままでいいそうです。
昔は、周りでかなり苦労した話をよく聞きますが、かなり簡単になってるようです。
ちなみに、Flutterではない別のプロジェクトでもここはチェックを入れたままにしています。
また、忘れそうな設定としては、Deployment Target を変更した場合は下記も一緒に変更するようです。
上記の設定を一通り行うと、下記のリンク先にあるようにflutter build ipa
を実行することができるようになります。
https://docs.flutter.dev/deployment/ios#create-an-app-bundle
ここで、少し横道にそれますが、reverse engineer
という単語が出てきますが、
デコンパイルという用語よりも一般的なんだなと思いました。
ここは、まだデモの段階ならいいと思いますが、商用リリース前にはもう一度見直さないといけないと思います。
次に下記を参考にして、ipaをApp Store Connectにアップロードします。
https://docs.flutter.dev/deployment/ios#upload-the-app-bundle-to-app-store-connect
自分は、3番目の方法を選びました。
open build/ios/archive/Runner.xcarchive
で、Archiveの一覧が表示されると思います。そこでValidate App
とDistribute App
を手順の通り行います。
ここで
Note: When you export your app at the end of Distribute App, Xcode will create a directory containing an IPA of your app and an ExportOptions.plist file. You can create new IPAs with the same options without launching Xcode by running flutter build ipa --export-options-plist=path/to/ExportOptions.plist. See xcodebuild -h for details about the keys in this property list.
という記述が見つかりますが、flutter build ipa
の時点でExportOptions.plist
が見つかるので、exportはもしかすると不要かもしれません。