无法获取 iOS 的调试应用程序检查令牌

Failing to get debug app check token for iOS

我正在密切关注应用程序检查文档以使用调试令牌,但是我没有看到它在控制台中注销,而是看到以下错误(当 运行 在调试模拟器中从 xcode)

编辑:testflight/真实设备构建中的一切都按预期工作

编辑 2:创建相关 github issue

[Firebase/AppCheck][I-FAA004002] Failed to exchange debug token to app check token: Error Domain=com.firebase.appCheck Code=0 "The server responded with an error: 
 - URL: https://firebaseappcheck.googleapis.com/v1beta/projects/[my-project-id]/apps/1:[sensitive-data]:ios:[sensitive-data]:exchangeDebugToken 
 - HTTP status code: 403 
 - Response body: {
  "error": {
    "code": 403,
    "message": "App attestation failed.",
    "status": "PERMISSION_DENIED"
  }
}

到目前为止,我已经执行了以下步骤,但没有成功

  1. 为我的 ios 项目启用了两个证明提供者(当我添加我的团队 ID 时,App Attest 自动启用)

  1. 在我的代码中添加了 FIRAppCheckDebugProviderFactory
  #if DEBUG
    FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
  #endif
  
  [FIRApp configure];

  1. 添加 -FIRDebugEnabled 到我的调试 运行 架构中的启动参数

  1. 为我的目标添加了 AppCheck 功能并将 .entitlements App Attest 环境设置为生产环境

您还必须启用管理调试令牌 ,这个link和图片可以帮到你:

https://firebase.google.com/docs/app-check/ios/debug-provider?authuser=0&hl=en

这已通过添加文档上游解决 https://github.com/firebase/firebase-ios-sdk/issues/9547#issuecomment-1097424478

简而言之

  1. 第一次安装/启动应用程序时它会记录调试令牌
  2. 记录调试令牌后,应将其添加到 firebase 仪表板中
  3. 在此之后,应用程序的所有后续启动都会重用最初记录的调试令牌
  4. 如果初始令牌未添加到 firebase 控制台,则会抛出 403 错误,因为应用正在使用未经验证的令牌