この記事は、【 可茂IT塾 Advent Calendar 2022 】の6日目の記事です。
Apple Store Connectにアプリが登録されている前提の話です。 Bundle IDの登録やApple Store Connectにアプリを作成していない場合は、作成後に以下の手順を踏んでください。
flutter build ipa
コマンドとは、Xcodeのビルドアーカイブ(.xcarchiveファイル)とApp Store app bundle(.ipa ファイル)を作成するコマンドです。
公式ドキュメントは以下です。
https://docs.flutter.dev/deployment/ios
flutter build ipa
だけでApple Storeへビルドファイルをアップロードするためには、ExportOptions.plist
というファイルを用意し、こちら側で編集する必要があります。
flutter build ipa
上記のコマンドを使用後に、project/build/ios/ipa
内にExportOptions.plist
が自動生成されます。
/ipa
├── DistributionSummary.plist
├── ExportOptions.plist
├── Packaging.log
└── your_app_name.ipa
ExportOptions.plist
の中身は以下のような感じになっていると思います。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>generateAppStoreInformation</key>
<false/>
<key>manageAppVersionAndBuildNumber</key>
<true/>
<key>method</key>
<string>app-store</string>
<key>signingStyle</key>
<string>automatic</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>YOUR_TEAM_ID</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
project/ios/configs
というフォルダの中に、先ほどのExportOptions.plist
を入れておきます。
そして、flutter build ipa
コマンドの実行後にApple Store Connectへのアップロードができるように、destination
にupload
を設定します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>generateAppStoreInformation</key>
<false/>
<key>manageAppVersionAndBuildNumber</key>
<true/>
<key>destination</key>
<string>upload</string>
<key>method</key>
<string>app-store</string>
<key>signingStyle</key>
<string>automatic</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>YOUR_TEAM_ID</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
ExportOptions.plist
の設定項目一覧は以下が参考になります。
https://qiita.com/taisuke_h/items/e37d96c96a811b630c0c
flutter build ipa
のオプションコマンド--export-options-plist
で、ExportOptions.plist
ファイルのパスを指定しましょう。
今回はproject/ios/configs
に配置しているので、以下のようになります。
flutter build ipa --export-options-plist="ios/configs/ExportOptions.plist"
上記のコマンドでApple Storeにビルドファイルがアップロードされると思います。
いかがでしたか?
1コマンドでApple Store Connectにビルドファイルをアップロードできるようになりました。
もうXcodeを開いて、アーカイブを作成して... という手順は不要です。
参考になれば幸いです。
https://docs.flutter.dev/deployment/ios#create-a-build-archive
https://crammbon.com/2022/02/08/flutter-build-ipa/
https://medium.com/flutter-jp/ipa-e176de0276c6
可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More