【Xcode/Fastlane】自動ビルドしてipaファイルを生成/アーカイブする方法!build_app

この記事からわかること
- iOS/Xcodeの自動化ツール:Fastlaneの使い方
- 自動ビルドしてipaファイルを生成する方法
- build_appアクションとgymの違い
index
[open]
\ アプリをリリースしました /
環境
- Xcode:15.0.1
- watchOS:10.0
- Swift:5.9
- macOS:Sonoma 14.1
- fastlane:2.221.0
Xcode/iOSアプリでFastlaneを使用して自動ビルドしてipaファイルを生成する方法をまとめていきます。導入やセットアップの方法は以下の記事を参考にしてください。
自動ビルドしてipaファイルを生成する方法
iOSアプリでFastlaneを使用して自動ビルドし、ipaファイルを生成するには「Fastfile」でbuild_app
アクションを使用します。プロビジョニングプロファイルは今回自動生成させたいのでautomatic_code_signing
アクションを使用しておきます。その際にApple Developer ProgramのチームIDが必要になるので自身のものに置き換えておいてください。
公式リファレンス:automatic_code_signing
「Fastfile」の準備ができたら以下コマンドを実行します、
問題なく成功すると以下のように表示され指定した出力先に「FastlaneTest.app.dSYM.zip」と「FastlaneTest.ipa」が生成されています。ついでにアーカイブも自動生成してくれているのであとはアップロード作業をするだけになります。
引数でいろいろ設定を変更できる
build_app
アクションの引数からビルド時の詳細な設定をいろいろを指定することができます。詳細は公式リファレンスを参考にしてください。
gymアクションとの違い
Fastlaneには同じような挙動をするgym
アクションがあります。調べてみるとbuild_app
はgym
をラップして使いやすいようにしているものらしいので引数などもほぼ同じような感じで使用することができます。そのため先ほどのレーン処理gym
に置き換えても問題なく動作させることができました。
Gymfileでパラメータを使い回しできる
build_app
またはgym
アクションのパラメータを使い回すようにしたい場合はfastlane gym init
コマンドでgymの構成ファイルである「Gymfile」を生成して中にパラメータを記述しておけば良いみたいです。
「Gymfile」にパラメータを定義しておくことで「Fastfile」側にパラメータを記述する必要が無くるので見通しが良くなります。
Looks like no provisioning profile mapping was providedエラーの解決方法
ビルドするコマンドを実行すると以下のようにエラーになることがありました。この場合でもアーカイブは成功しており、ipaファイルの作成が失敗していたようです。エラー内容をみるとLooks like no provisioning profile mapping was provided(プロビジョニング プロファイル マッピングが提供されていないようです)
と表示されていました。
これはautomatic_code_signing
アクションを実行していないから発生したようで、組み込むと解消することができました。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。