You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS模拟器中Firebase App Check调试令牌不显示问题求助

问题排查与解决步骤

1. 核对iOS Info.plist配置

确保在iOS项目的Info.plist文件中正确添加调试启用项,且格式无误:

<key>FirebaseAppCheckDebugEnabled</key>
<true/>

注意该配置必须放在<dict>标签内部,仅在Debug模式下生效。

2. 修正Flutter端App Check初始化逻辑

确保针对iOS调试环境使用AppleProvider.debug,示例代码:

import 'package:flutter/foundation.dart';
import 'package:firebase_app_check/firebase_app_check.dart';

// 在初始化Firebase后激活App Check
void initAppCheck() async {
  await FirebaseAppCheck.instance.activate(
    androidProvider: AndroidProvider.playIntegrity,
    appleProvider: kDebugMode ? AppleProvider.debug : AppleProvider.appAttest,
  );
}

必须通过kDebugMode区分调试与生产环境,避免Release模式下误用调试提供者。

3. 检查日志输出位置

调试令牌不会在Flutter终端输出,而是打印在Xcode的控制台中:

  • 打开Xcode,运行模拟器后查看底部的Console面板
  • 搜索关键词AppCheck或Debug token快速定位令牌内容

4. 确保Xcode运行环境为Debug模式

  • 在Xcode顶部的Scheme选择器中,确认当前运行模式为Debug(而非Release)
  • 执行Product > Clean Build Folder清理缓存后重新运行项目

5. 强制获取并打印调试令牌

如果以上步骤仍未看到令牌,可在代码中手动调用获取接口并打印:

// 激活App Check后调用
final appCheckToken = await FirebaseAppCheck.instance.getToken();
print('App Check Debug Token: ${appCheckToken?.token}');

此时令牌会输出在Flutter终端,复制该令牌到Firebase控制台的App Check调试设备列表中。

6. 验证Firebase控制台配置

  • 确认iOS应用的Bundle ID与Firebase控制台中注册的完全一致
  • 将获取到的调试令牌添加到Firebase控制台「App Check」页面对应的iOS应用的「调试设备」列表中

完成以上步骤后,iOS模拟器的Firebase RTDB请求即可通过App Check验证,await调用将正常完成。

内容的提问来源于stack exchange,提问作者treble18

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 03:45:35