iOS向けビルドには2個の手順が必要だった
flutterのプロジェクトでiOS向けのアプリをリリースする際に
- flutter build ios
- Xcodeを起動してarchive
と2段階で作業していて、面倒くさいなあと思ってました。
バージョン1.24.0-6.0から一個のコマンドで済むようになった
しかし、1.24.0-6.0のバージョンからは、flutter build ipaコマンドを使うことで一度にarchiveまで行うことができるようになりました。
やり方
archiveまで行うコマンドは以下の通りです。
flutter build ipa --release --export-options-plist=ExportOptions.plist
突然出てきたExportOptions.plistですが、これは別途自分で用意する必要があります。
自分で用意するといっても、このファイルはXcodeから自動生成されるファイルなので安心してください。
詳細な手順はこちらに書かれています。
ExportOptions.plistの入手方法
過去にXcodeでarchiveしていれば以下の手順で入手することができます。
- Xcodeを起動して、[Window]→[Organizer]を起動
- 任意のArchivesを選択し、[Distribute App]をクリック
- [Select a method of distribution]で[App Store Connect]を選択し、[Next]をクリック
- [Select a destination]で[Export]を選択し、[Next]をクリック
- [App Store Connect distribution options]、[Re-sign "Runner"]は特にいじらず[Next]をクリック
- [Review app.ipa content]の内容を確認し[Export]をクリック
- エクスポート先のフォルダを選択してエクスポートします
- そうすると、エクスポート先のフォルダにExportOptions.plistファイルが生成されているのでこれを--export-options-plistオプションに渡してあげます。
- 特に決まりはありませんが、ExportOptions.plistファイルを私はflutterのプロジェクトのiosディレクトリの下に入れておきました。
ついでにApp Store Connectへアップロードまでさせてしまう
なんとflutter build ipaコマンドだけで、ipaファイルをApp Store Connectにアップロードまで行わせることができます。
やり方ですが、先ほど入手したExportOptions.plistを開き、destinationキーの値をuploadに書き換えます。たったこれだけです。
<key>destination</key> <string>upload</string>
これは便利ですね。ビルド中に食事ができるレベルです。