Flutter集成Firebase AppCheck调试失败,报错com.apple.devicecheck.error 1
Flutter Firebase AppCheck 调试报错解决
问题场景
已在Firebase控制台完成DeviceCheck和AppAttest注册,Apple平台步骤1、2已完成。通过VS Code右键点击iOS文件夹选择“用Xcode打开”,在Xcode中点击「Product」->「Run」运行项目后,模拟器出现报错:
AppCheck failed: 'The operation couldn't be completed. (com.apple.devicecheck.error error 1.)
预期应输出格式如下的调试Token:
[Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
123a4567-b89c-12d3-e456-789012345678
当前main.dart代码:
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_app_check/firebase_app_check.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate( androidProvider: AndroidProvider.debug, ); runApp(App()); }
问题原因及解决步骤
核心问题
代码仅配置了Android端的调试提供者,未针对iOS模拟器设置AppCheck调试模式。iOS模拟器不支持正式的DeviceCheck/AppAttest服务,因此触发报错。
解决步骤
修改代码配置iOS调试提供者
更新activate方法,添加iOS的调试配置:await FirebaseAppCheck.instance.activate( androidProvider: AndroidProvider.debug, appleProvider: AppleProvider.debug, // 新增iOS调试配置 );获取调试Token
重新在Xcode中运行项目,控制台会输出符合预期格式的调试Token。在Firebase控制台注册调试Token
进入Firebase控制台的AppCheck设置页面,找到「调试令牌」板块,将获取到的Token添加并保存,即可让模拟器正常使用AppCheck服务。
补充说明
- iOS模拟器无法使用DeviceCheck或AppAttest服务,必须启用调试提供者才能完成测试。
- 调试模式生成的Token必须注册到Firebase控制台,否则AppCheck会拒绝请求。
- 正式发布版本需将
appleProvider切换为AppleProvider.deviceCheck或AppleProvider.appAttest,恢复正式校验逻辑。
内容的提问来源于stack exchange,提问作者themag
相关产品推荐
相关产品推荐

