【Xcode/Fastlane】Test Flightへのアップロードを自動化!pilot

この記事からわかること
- iOS/Xcodeの自動化ツール:Fastlaneの使い方
- Test Flightへのアップロード方法
- upload_to_testflightアクション
- pilotとの違い
index
[open]
\ アプリをリリースしました /
環境
- Xcode:16.3
- iOS:18.0
- Swift:5.9
- macOS:Sequoia 15.4
- fastlane:2.221.0
Xcode/iOSアプリでFastlaneを使用してTest Flightにアップロードする方法をまとめていきます。導入やセットアップの方法は以下の記事を参考にしてください。
Test Flightへのアップロードを自動化する
Test Flightヘアップロードするためにはupload_to_testflight
アクションを使用します。このアクションを使用することでipaファイルをTest Flight配布用としてApp Store Connectへアップロードすることが可能です。
ただupload_to_testflight
アクションでアップするためには「署名済みのipaファイルの作成」と「App Store Connectへの認証」が必要になります。
実装の流れ
- ビルド番号インクリメント
- 自動署名 or 署名済みプロビジョニングプロファイルの用意
- ビルド(ipaファイル生成)
- 認証(JWTの生成)
- Test Flightへアップロード
「1〜4」までの詳細な準備方法は以下の記事を参考にしてください。
platform :ios do
desc "Test Flightへアップロード"
lane :upload_test_flight do
# 1.ビルド番号インクリメント
increment_build_number
# 2.自動署名
automatic_code_signing(
use_automatic_signing: true,
team_id: ENV['TEAM_ID']
)
# 3.ビルド(ipaファイル生成)
gym(
scheme: "MinnanoTanjyoubi",
output_directory: "./build", # 出力先ディレクトリ
output_name: "MinnanoTanjyoubi.ipa", # 出力ファイル名
export_xcargs: "-allowProvisioningUpdates" # プロビジョニングプロファイルを自動的に更新
)
# 4.認証(JWTの生成)
api_key = app_store_connect_api_key(
key_id: ENV['KEY_ID'],
issuer_id: ENV['ISSUER_ID'],
key_filepath: ENV['KEY_FILE_PATH']
)
# 5.Test Flightへアップロード
upload_to_testflight(api_key: api_key)
end
end
パラメータ
upload_to_testflight
にはいろいろなパラメータを指定することができます。changelog
でリリースノートを指定できるのかと思いましたが指定しても正しく反映されませんでした。
鍵 | 説明 |
---|---|
api_key | App Store Connect APIキー情報 |
ipa | アップロードするipaファイルへのパス |
demo_account_required | 審査時にデモアカウントが必要かどうか |
beta_app_description | ベータ版アプリの説明 |
changelog | リリースノート? 公式記載:新しいビルドをアップロードするときに「テスト対象」のテキストを入力します |
distribute_external | 外部テスターに配布するかどうか |
他にもたくさんのパラメーターがあるので詳細は以下を参考にしてください。
公式リファレンス:upload_to_testflight # parameters
pilotとの違い
upload_to_testflight
は内部的にpilot
をラップしているアクションです。pilot
はCLIで実行できるコマンドとして定義されているのでそのままターミナルで使うことも可能です。
# ビルド情報一覧を取得する
$ fastlane pilot builds
+------------------------------------------------------------+
| みんなの誕生日 -メモするだけで通知が届く管理アプリ- Builds |
+--------------------+-------------------+-------------------+
| Version # | Build # | Installs |
+--------------------+-------------------+-------------------+
| 2.1.0 | 3 | 0 |
| 2.0.0 | 2 | 0 |
| 1.0.0 | 1 | 0 |
+--------------------+-------------------+-------------------+
pilotでできること
- ビルド一覧の取得
- 内部 / 外部テスターの取得 / 追加 / 削除
- Test Flightビルドの配布
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。