Flutter iOS版Release构建登录失败:Invalid app check token问题求助
排查Flutter Firebase Release构建App Check Token无效问题
核心排查步骤
- 确认Firebase控制台App Check配置
- 登录Firebase控制台,检查Apple平台的App Check设置:
- 确保已正确启用Device Check或App Attest(iOS 14+优先选App Attest)
- 验证Bundle ID与Xcode工程中
CFBundleIdentifier完全一致,无拼写或大小写错误 - 检查是否上传了对应提供者的有效凭证:Device Check需要APNs认证密钥,App Attest需要Apple开发者后台生成的App Attest证书
- 登录Firebase控制台,检查Apple平台的App Check设置:
- Xcode工程配置校验
- 查看Release构建的Signing & Capabilities面板:
- 确认已添加
App Attest或Device Check能力 - 签名证书必须为生产环境证书,不能使用调试证书
- 检查
Info.plist配置:无需移除FirebaseAppCheckDebugToken,Release环境下Firebase会自动忽略调试Token
- 确认已添加
- 查看Release构建的Signing & Capabilities面板:
- Flutter初始化代码验证
- 确保App Check在Firebase初始化后启动,且Release环境使用正确的提供者:
await FirebaseAppCheck.instance.activate( androidProvider: AndroidProvider.playIntegrity, appleProvider: AppleProvider.appAttest, // 或 AppleProvider.deviceCheck );- 若使用App Attest,需将iOS部署目标设为14.0及以上
- 确保App Check在Firebase初始化后启动,且Release环境使用正确的提供者:
- 日志与错误排查
- 在Release构建中临时添加日志,捕获App Check获取Token的异常(上线前记得移除):
try { final token = await FirebaseAppCheck.instance.getToken(); debugPrint('App Check Token: ${token?.token}'); } catch (e) { debugPrint('App Check Error: $e'); } - 查看Firebase控制台App Check -> Events页面,获取失败请求的具体错误详情(如证书不匹配、设备不支持等)
- 在Release构建中临时添加日志,捕获App Check获取Token的异常(上线前记得移除):
- 构建流程检查
- 确认使用
flutter build ios --release命令生成Release包,而非调试构建 - 检查Xcode Archive构建是否关联了正确的生产环境Provisioning Profile
- 确认使用
常见易踩坑点
- 代码混淆:若开启混淆,需确保Firebase App Check相关类未被混淆
- 网络限制:Release设备需能正常访问Firebase服务,排查是否有代理、防火墙等拦截
- 开发者账户权限:确认Apple开发者账户具备创建Device Check/App Attest凭证的权限
内容的提问来源于stack exchange,提问作者Rahul Arora
相关产品推荐
相关产品推荐

