iOSアプリ用のリリースビルド
iOSでリリースビルドを作るには、図3のようにXcodeを使ってビルド設定からリリースビルドまでをまかないます。Androidに比べるとわかりやすい流れですね。
Flutter側でリリース用のファイルも作成できますが、こちらは内部ではXcodeのCLIコマンドを使っているだけです。一般的には、Xcodeでの情報の多くはUI上の操作であり、その方が参考情報も見つけやすいので、まずはXcodeでの操作を優先して利用することをおすすめします。
Xcodeでプロジェクトファイルを開く
FlutterプロジェクトからXcode用のプロジェクトを開くには、リストのように「ios/Runner.xcworkspace」フォルダをXcodeから開いてください。
open ios/Runner.xcworkspace
そして、Runnerターゲットの「General」を開くと図4のように表示されます。
ここで、IdentityのBundle Identifierが正しく設定されていることを確認してください。また、ここでDisplay NameやVersionが設定されていないケースがあります。その場合には、「Build Settings」タブを開いてください。
そのUser-Defined情報を見ると、Flutter側で定義してあるバージョン名(FLUTTER_BUILD_NAME)や、ビルド番号(FLUTTER_BUILD_NUMBER)があるので、そちらで情報が反映されているか確認できます。
そこで、これらの情報が変更前の情報や想定と異なる場合には、Flutter側での設定内容を確認し、flutter build iosコマンドを実行してから再度、Xcodeでプロジェクトを開いてください。
iOS用のリリースビルド
iOSの場合には、リリースビルドをするために有料のDeveloper Programへの購読が必要になります。iOSアプリのリリースにはプロビジョニングファイルが必要です。Xcodeとapple developerアカウントをあらかじめ結びつけておいてください。
また、開発用のプロビジョニングファイルの作成方法は、Apple Developerサイトにて紹介されているので、そちらを参照してください。今回は、あらかじめ準備したプロビジョニング設定があることを前提にし、Xcodeで以降の設定を進めます(図5)。
これらの設定が完了したらメニューの「Build > Archive」を実行するとリリース用のビルドファイルが作成され、図6の画面が表示されます。
画面右側にバージョン名やビルド番号などが表示されるので、設定が正しく反映されているか確認してください。確認できたら、画面右上にある「Distribute App」ボタンを押すと、App Store Connectにアップロードできます。
[Note]iOSのプロビジョニングファイル
iOSの「プロビジョニングファイル」はリリースビルドするために必ず必要で、その設定は「Apple Developer」のサイトにて行うのが一般的です。
設定には、配布方法(一般マーケット配布、特定の企業向けのAdHoc配布、テスター向け配布など)や、利用する機能に関する申請(Push通知の利用やその他、申請が必要な機能など)、場合によってはインストールする端末情報の設定などが必要になり、公開申請と非常に密接な関係になっています。
そのため、実際に開発したアプリに関する機能面でだけではなく、そのアプリがどのような形態や目的、もしくはどのような点で特別な追加審査を受ける必要があるかも大きく関係してきます。
本稿は、Flutterでのビルド手順について説明することが目的の為、ビルド前にそれらの「プロビジョニングファイル」の作成と準備は完了している前提で、説明を割愛させていただきます。
「プロビジョニングファイル」について詳しく知りたい方は、目的や用途に応じて手順が多少変わるため注意が必要ですが、用途に応じて手順を紹介しているサイトやブログも多々あるので、それらの情報を参照するのがおすすめです。