Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

AppleプラットフォームのデバッグプロバイダーでAppCheckを使用する

アプリを App Check に登録した後、開発中のシミュレーターや継続的インテグレーション (CI) 環境など、App Check が通常は有効と分類しない環境でアプリを実行する場合は、次のことができます。実際の構成証明プロバイダーの代わりに App Check デバッグ プロバイダーを使用するアプリのデバッグ ビルドを作成します。

シミュレーターでデバッグ プロバイダーを使用する

アプリをシミュレーターでインタラクティブに実行しているときに (開発中などに) デバッグ プロバイダーを使用するには、次の手順を実行します。

  1. デバッグ ビルドでは、Firebase バックエンド サービスを使用する前に、App Check デバッグ プロバイダ ファクトリを作成して設定します。

    迅速

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. Xcode プロジェクト (v11.0 以降) でデバッグ ログを有効にします。

    1. 製品 > スキーム > スキームの編集 を開きます。
    2. 左側のメニューから [実行] を選択し、[引数] タブを選択します。
    3. [起動時に渡される引数] セクションで、 -FIRDebugEnabledを追加します。
  3. アプリを起動します。 SDK がバックエンドにリクエストを送信しようとすると、ローカル デバッグ トークンがログに記録されます。例えば:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase コンソールの [ App Check ] セクションで、アプリのオーバーフロー メニューから[Manage debug tokens ] を選択します。次に、前の手順でログに記録したデバッグ トークンを登録します。

    [デバッグ トークンの管理] メニュー項目のスクリーンショット

トークンを登録すると、Firebase バックエンド サービスはそれを有効なものとして受け入れます。

このトークンを使用すると、有効なデバイスがなくても Firebase リソースにアクセスできるため、非公開にしておくことが重要です。公開リポジトリにコミットしないでください。登録済みのトークンが侵害された場合は、Firebase コンソールですぐに取り消してください。

CI 環境でデバッグ プロバイダーを使用する

継続的インテグレーション (CI) 環境でデバッグ プロバイダーを使用するには、次の手順を実行します。

  1. Firebase コンソールの [ App Check ] セクションで、アプリのオーバーフロー メニューから[Manage debug tokens ] を選択します。次に、新しいデバッグ トークンを作成します。次のステップでトークンが必要になります。

    このトークンを使用すると、有効なデバイスがなくても Firebase リソースにアクセスできるため、非公開にしておくことが重要です。公開リポジトリにコミットしないでください。登録済みのトークンが侵害された場合は、Firebase コンソールですぐに取り消してください。

    [デバッグ トークンの管理] メニュー項目のスクリーンショット

  2. 作成したばかりのデバッグ トークンを CI システムのセキュア キー ストアに追加します (たとえば、GitHub Actions の暗号化されたシークレットまたは Travis CI の暗号化された変数)。

  3. 必要に応じて、デバッグ トークンを CI 環境内で環境変数として使用できるように CI システムを構成します。変数にAPP_CHECK_DEBUG_TOKEN_FROM_CIのような名前を付けます。

  4. Xcode で、名前FIRAAppCheckDebugTokenで、値が$(APP_CHECK_DEBUG_TOKEN)のような環境変数をテスト スキームに追加します。

  5. デバッグ トークンを環境変数として渡すように CI テスト スクリプトを構成します。例えば:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. デバッグ ビルドでは、Firebase バックエンド サービスを使用する前に、App Check デバッグ プロバイダ ファクトリを作成して設定します。

    迅速

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

アプリが CI 環境で実行されると、Firebase バックエンド サービスは、送信されたトークンを有効なものとして受け入れます。