メモ:「`flutter build ipa` でiOS向けのビルドとアーカイブを同時に実行 🍎」を読んで
おはようございます。最近リングフィットアドベンチャーを始めた watura です。
https://medium.com/flutter-jp/ipa-e176de0276c6
Flutter で IPA ファイルを作ろうとすると、flutter 側で1度ビルドして、再度 Xcode や fastlane gym で Archive して、 IPA ファイルをとり出すという手順が必要でした。
それが、以下のコマンド一発で、IPA がつくれるようになるようです。
flutter build ipa
上記記事はそれについてまとめてくれている良記事です。
で、読んでいきますと、
--export-options-plist=ExportOptions.plist 部分に何を指定するのか戸惑うかもしれませんが、XcodeでArchiveしてエクスポートして成果物として得られるフォルダに入っているこちらを持ってきて指定すれば良いです。
という記述がありました。
この ExportOptions は重要な設定で、これをわたさないと IPA がつくられるのではなく、 xcarchive 形式でビルドされてしまいます。
この、ExportOptions.plist の作り方に一瞬悩んだので、メモです。
普段、fastlane gym と deliver でさくっとアップロード!ってやっているので、Export とかもう何年もやってないぜ!という状態だったので、悩んだだけですが。
1. flutter build ipa や Xcode で Archive でビルドする
2. Xcode の Organizer で、Distribute App を選ぶ
3. App Store Connect を選択
4. Export を選択
5. Signature の設定とかを行っていって、最後までいく
6. ~/Documents に Production .... というディレクトリが作れてその中にExportOptions.plist があります。
なお元記事にある ExportOptions.plist のサンプルでも動く場合がおおいのだと思います。私の環境だとうまく Sign できなかったので、自分で作り直しました。
ざっとですが、ビルド→Appstore Connect へのアップロードが、40分→30分くらいになりました。
まだまだ、時間がかかっていて死んじゃうという感じなのですが、この時間がかかっているののほとんどは、firestore のビルドが死ぬほど遅いというのが原因なので、 firestore をバイナリを取得するようにするとかすると、大幅な時間短縮が望めると思われます。