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 平台上通過調試提供程序使用 App Check

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

如果在您為 App Check 註冊了您的應用程序後,您希望在 App Check 通常不會歸類為有效的環境中運行您的應用程序,例如開發期間的模擬器或持續集成 (CI) 環境,您可以創建使用 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 控制台的應用檢查部分,從應用的溢出菜單中選擇管理調試令牌。然後,註冊您在上一步中登錄的調試令牌。

    “管理調試令牌”菜單項的屏幕截圖

註冊令牌後,Firebase 後端服務會將其視為有效。

由於此令牌允許在沒有有效設備的情況下訪問您的 Firebase 資源,因此將其保密至關重要。不要將其提交到公共存儲庫,如果已註冊的令牌遭到破壞,請立即在 Firebase 控制台中將其撤消。

在 CI 環境中使用調試提供程序

要在持續集成 (CI) 環境中使用調試提供程序,請執行以下操作:

  1. 在 Firebase 控制台的應用檢查部分,從應用的溢出菜單中選擇管理調試令牌。然後,創建一個新的調試令牌。您將在下一步中需要該令牌。

    由於此令牌允許在沒有有效設備的情況下訪問您的 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 後端服務將接受它發送的有效令牌。