Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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 バックエンド サービスは、送信されたトークンを有効なものとして受け入れます。