fastlane を使用して iOS アプリをテスターに配布する

iOS アプリと Android アプリのビルドとリリースを自動化するオープンソース プラットフォームである fastlane を使用して、ビルドをテスターに配布できます。この配布は、Fastfile で定義されたシンプルな手順に従います。fastlane と Fastfile を設定したら、App Distribution と fastlane の構成を統合できます。

手順 1. fastlane を設定する

  1. fastlane をインストールして設定します

  2. fastlane の構成に App Distribution を追加するには、iOS プロジェクトのルートから次のコマンドを実行します。

    fastlane add_plugin firebase_app_distribution

    コマンドでオプションの選択を求めるプロンプトが表示されたら、Option 3: RubyGems.org を選択します。

手順 2. Firebase で認証する

fastlane プラグインを使用する前に、Firebase プロジェクトで認証する必要があります。これには次の 3 つの方法があります。

手順 3. Fastfile を設定してアプリを配布する

  1. ./fastlane/Fastfile のレーンに firebase_app_distribution ブロックを追加します。次のパラメータを使用して、配布を構成します。
    firebase_app_distribution のパラメータ
    app

    アプリに Firebase 構成ファイル(GoogleService-Info.plist)が含まれていない場合にのみ必要: アプリの Firebase アプリ ID。アプリ ID は Firebase コンソールの全般設定ページで確認できます。

    
    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    GoogleService-Info.plist ファイルのパス(アーカイブしたプロダクトのパスからの相対パス)。デフォルトでは GoogleService-Info.plist に設定されています。

    app パラメータが指定されていない場合は、このファイルを使用してアプリの Firebase アプリ ID を取得します。

    firebase_cli_token

    プラグインのログイン操作の実行時に出力される更新トークン(上記の Google アカウントを使用して認証するをご覧ください)、または Firebase CLI を使用して CI 環境を認証するときに出力される更新トークン(詳細については CI システムで CLI を使用するをご覧ください)。

    service_credentials_file

    Google サービス アカウントの JSON ファイルのパス。上記のサービス アカウント認証情報を使用して認証する方法をご覧ください。

    ipa_path

    アップロードする IPA ファイルの絶対パス。指定されていない場合、fastlane はファイルが生成されたレーンからファイルの場所を特定します。

    release_notes
    release_notes_file

    このビルドのリリースノート。

    リリースノートを直接指定します。

    
    release_notes: "Text of release notes"

    または、プレーン テキスト ファイルのパスを指定します。

    
    release_notes_file: "/path/to/release-notes.txt"
    testers
    testers_file

    招待するテスターのメールアドレス。

    メールアドレスのカンマ区切りのリストとしてテスターを指定します。

    
    testers: "ali@example.com, bri@example.com, cal@example.com"

    または、メールアドレスのカンマ区切りのリストを含む書式なしテキスト ファイルへのパスを指定します。

    
    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    招待するテスター グループ(テスターを管理するをご覧ください)。グループはグループ エイリアスで指定します。これは、Firebase コンソールで検索できます。

    グループをカンマ区切りのリストとして指定します。

    
    groups: "qa-team, trusted-testers"

    または、グループ名のカンマ区切りのリストを含む書式なしテキスト ファイルのパスを指定します。

    
    groups_file: "/path/to/groups.txt"
    debug

    ブール値のフラグ。true に設定すると詳細なデバッグ情報が出力されます。

    例:
    platform :ios do
        desc "My awesome app"
        lane :distribute do
            build_ios_app(...) # build_ios_app is a built-in fastlane action.
    
            firebase_app_distribution(
                app: "1:123456789:ios:abcd1234",
                testers: "tester1@company.com, tester2@company.com",
                release_notes: "Lots of amazing new features to test out!"
            )
    
        end
    end
    
  2. 最後に、テスターがビルドを利用できるようにするためにレーンを実行します。
    fastlane <lane>

ビルドを配布すると、Firebase コンソールの App Distribution ダッシュボードで 150 日間(5 か月間)利用できます。ビルドが期限切れになる 30 日前に、テストデバイス上のテスターのビルドリストとコンソールの両方に有効期限のお知らせが表示されます。

アプリのテストに招待されていないテスターには、開始するための招待メールが届きます。既存のテスターには、新しいビルドのテスト準備ができていることを知らせるメールが届きます(テストアプリのインストール手順についてはテスターの設定ガイドをご覧ください)。Firebase コンソールで各テスターのステータス(招待を承諾したか、アプリをダウンロードしたか)を確認できます。