ANTIGRAVITY LABEN
記事一覧/アプリ開発
アプリ開発/2026-04-04中級

AntigravityでTestFlightベータ配信を完全自動化する実践ガイド

Antigravity × Fastlane × GitHub Actions でTestFlightへの自動配信パイプラインを構築。コード署名・ビルド・テスター管理まで、iOSアプリのベータ配信フローを完全自動化する実践ガイドです。

antigravity435ios35testflight2fastlane3github-actions9cicd8beta-testing

手作業のベータ配信が奪う時間

アーカイブして、アップロードして、テスターを招待する。iOSアプリのベータ配信でこの手作業を毎回繰り返していると、思いのほか時間を取られ、招待漏れやビルド番号の付け間違いといった小さなミスも起きやすくなります。TestFlight は優れた仕組みですが、そこへ至る道のりには自動化の余地が大きく残っています。

この記事を読み終えると、次のことができるようになります。

  • Fastlane を Antigravity の支援で素早くセットアップする
  • GitHub Actions でプッシュするたびに TestFlight へ自動アップロードする
  • ベータテスター管理・通知も自動化して、開発に集中できる環境を整える

対象読者: iOSアプリ開発の経験があり、CI/CD の基礎知識をお持ちの方。Antigravity の基本操作に慣れている方を想定しています。


前提条件・環境準備

作業を始める前に、以下の環境を整えてください。

  • macOS(Xcode 16 以降インストール済み)
  • Apple Developer アカウント(有料)
  • App Store Connect へのアプリ登録済み
  • Antigravity IDE(最新版)インストール済み
  • Ruby 3.0 以降(Fastlane の実行に必要)
  • GitHub アカウントとリポジトリ

環境が整ったら、Antigravity でプロジェクトを開いてください。まずは全体の流れを把握することが大切です。


TestFlight 自動配信パイプラインの全体像

自動配信パイプラインは、次の流れで動作します。

  1. 開発者がコードを main または release ブランチにプッシュ
  2. GitHub Actions がトリガーされ、macOS ランナー上でビルド開始
  3. Fastlane の beta レーンがアーカイブ・コード署名・アップロードを実行
  4. TestFlight にビルドがアップロードされ、テスターへ自動通知

この仕組みを Antigravity のエージェントが補助し、設定ファイルの生成・エラー診断・改善提案を自動で行います。手動作業が大幅に減り、リリースサイクルを加速できます。


Step 1: Fastlane のセットアップ

Fastlane のインストール

Antigravity のターミナルパネルで次を実行します。

# Gemfile を使って Fastlane をインストール
bundle init
echo 'gem "fastlane"' >> Gemfile
bundle install
 
# Fastlane の初期化
bundle exec fastlane init

インストール後、Antigravity のチャット欄に次のように依頼すると、Fastfile を自動生成できます。

Antigravity へのプロンプト例:
「TestFlight 自動配信用の Fastfile を作成してください。
対象アプリ名: MyApp、バンドルID: com.example.myapp、チームID: ABC12345」

Antigravity が生成した Fastfile の例を示します。

# fastlane/Fastfile
default_platform(:ios)
 
platform :ios do
  desc "TestFlight にベータ版をアップロードする"
  lane :beta do
    # 証明書とプロビジョニングプロファイルを同期
    match(type: "appstore")
 
    # ビルド番号を自動インクリメント
    increment_build_number(
      build_number: latest_testflight_build_number + 1
    )
 
    # アーカイブ・エクスポート
    gym(
      scheme: "MyApp",
      export_method: "app-store",
      output_directory: "./build"
    )
 
    # TestFlight へアップロード(処理待ちはスキップして高速化)
    upload_to_testflight(
      skip_waiting_for_build_processing: true,
      changelog: "自動ビルド: #{Time.now.strftime('%Y-%m-%d %H:%M')}"
    )
  end
end

App Store Connect API キーの設定

TestFlight への自動アップロードには API キーが必要です。

  1. App Store Connect →「ユーザーとアクセス」→「キー」で新規 API キーを発行する
  2. AuthKey_XXXXXXXXXX.p8 ファイルをダウンロードする
  3. Appfile に API キー情報を設定する
# fastlane/Appfile
app_identifier("com.example.myapp")
apple_id("your@email.com")
 
# App Store Connect API キーのパス
api_key_path("./fastlane/AuthKey_XXXXXXXXXX.p8")

API キーは .gitignore に追加し、絶対にリポジトリにコミットしないよう注意してください。GitHub Secrets に保管するのがベストプラクティスです。


Step 2: GitHub Actions ワークフローの設定

Antigravity に次のプロンプトでワークフローファイルを生成してもらいます。

「GitHub Actions で iOS アプリを TestFlight に自動配信する
.github/workflows/testflight.yml を作成してください。
トリガー条件: release/* ブランチへの push」

生成されたワークフローの例を示します。

# .github/workflows/testflight.yml
name: TestFlight Deploy
 
on:
  push:
    branches:
      - 'release/*'
 
jobs:
  deploy:
    runs-on: macos-15
 
    steps:
      - uses: actions/checkout@v4
 
      - name: Ruby のセットアップ
        uses: ruby/setup-ruby@v1
        with:
          bundler-cache: true
 
      - name: App Store Connect API キーを復元
        env:
          ASC_API_KEY: ${{ secrets.ASC_API_KEY_CONTENT }}
        run: |
          mkdir -p fastlane
          echo "$ASC_API_KEY" > fastlane/AuthKey.p8
 
      - name: Fastlane beta レーンを実行
        env:
          MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
          FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: "120"
        run: bundle exec fastlane beta

GitHub Secrets には以下の2つを設定します。Antigravity のエージェントが設定手順を案内してくれます。

  • ASC_API_KEY_CONTENT: .p8 ファイルの内容(そのままペースト)
  • MATCH_PASSWORD: Fastlane Match の暗号化パスワード

Step 3: Antigravity でエラー診断・修正を効率化

CI/CD 環境でのビルドエラーは原因が複雑なことがあります。Antigravity のチャットにエラーログを貼り付けると、原因と解決策を即座に提示してくれます。

コード署名関連でよくあるエラーと、Antigravity の診断例です。

ビルドログ(一部):
error: No certificate found matching 'iPhone Distribution: Example Inc.'

Antigravity の応答例:
「コード署名エラーを検出しました。
原因: Distribution 証明書がローカルに見つかりません。
解決策:
  1. bundle exec fastlane match appstore を実行して証明書を同期
  2. Keychain でのアクセス許可を確認する
  3. Bundle ID が App Store Connect と一致しているかチェック」

Antigravity を活用すれば、複雑なコード署名エラーも数分で解決に向かえます。GitHub Actions のさらに高度な設定については、GitHub Actions で iOS/Android の CI/CD パイプラインを構築する完全ガイドもあわせてご覧ください。


Step 4: ベータテスター管理の自動化

Fastlane の pilot コマンドを使えば、テスターの追加・グループ管理も自動化できます。

# fastlane/Fastfile に追加するレーン例
lane :add_testers do
  add_new_testers(
    testers_file_path: "./testers.csv",
    groups: ["Internal QA", "Beta Users"]
  )
end

testers.csv はスプレッドシートから書き出した形式で問題ありません。Antigravity に「CSV からテスターを一括追加するスクリプトを書いて」と依頼すれば、パース処理も自動で生成してもらえます。

テスターへの通知メッセージも changelog パラメーターでカスタマイズでき、「今回追加された機能・修正された不具合」をわかりやすく伝えることで、フィードバックの質が上がります。


よくあるエラーと対処法

エラー 1: "No certificate found" が出る

古い証明書が競合している場合に起きやすいエラーです。

# 古い証明書を削除して再生成する
bundle exec fastlane match nuke distribution
bundle exec fastlane match appstore

エラー 2: "Build number already exists" でアップロードが失敗する

TestFlight は同一ビルド番号のアップロードを拒否します。Fastfileincrement_build_number を必ず含め、毎回ビルド番号が増えるようにしてください。

エラー 3: GitHub Actions の macOS ランナーがタイムアウトする

Xcode のビルド設定取得に時間がかかる場合があります。FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT120(秒)以上に設定すると改善します。


まとめ

ここではAntigravity × Fastlane × GitHub Actions を組み合わせて、TestFlight ベータ配信を完全自動化する方法を解説しました。

自動化のポイントをまとめると次の通りです。

  • Fastlane でコード署名・ビルド・アップロードを一元管理する
  • GitHub Actions でブランチへのプッシュをトリガーに自動実行する
  • Antigravity がエラー診断・設定ファイル生成をリアルタイムでサポートする

手動作業をなくすことで、開発者はコードを書くことに集中でき、品質の高いベータ版をより高い頻度でテスターに届けられるようになります。ぜひ、まずは Fastlane のセットアップから始めてみてください。

ビルド・テスト・デプロイ自動化の原則を体系的に学べる一冊です。

シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

アプリ開発2026-04-19
Antigravity で構築する iOS アプリ全自動リリースパイプライン — AI がスクリーンショット生成・メタデータ最適化・審査対応まで担う上級実装ガイド
Antigravity × App Store Connect API × GitHub Actions で、ビルドからApp Store審査提出まで全工程を自動化。AI によるスクリーンショット説明文生成・メタデータ最適化・リジェクト対応提案を完全実装する上級ガイド。
アプリ開発2026-06-25
Xcode Cloud の無料25時間が月末に静かに尽きるとき — コンピュート時間を計測して守る運用メモ
Xcode Cloud の無料コンピュート枠が月末に枯渇し、ビルドがキューで待たされる前に。消費の内訳を App Store Connect API で実測し、不要ビルドの早期停止・テスト分割でCI時間を運用で守る実践メモです。
アプリ開発2026-07-04
App Intents で AppEnum が破綻する場面 — 毎日増える壁紙カタログを Siri に選ばせる EntityQuery 設計
App Intents のパラメータを AppEnum で書くと、選択肢が固定のうちは動きますが、毎日増えるコンテンツには耐えません。動的カタログを Siri とショートカットに正しく選ばせる AppEntity + EntityQuery 設計と、識別子の安定化・Spotlight 連携の落とし穴をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →