iOS环境下调用Firebase Messaging getToken()出现无效获取响应错误
iOS Firebase Messaging#getToken 报错:Invalid fetch response, expected 'token' or 'Error' key
以下是针对该错误的常见解决方案:
核对Firebase配置文件
确认GoogleService-Info.plist已正确放置在iOS项目(Flutter项目为ios/Runner目录)中,且文件内的CLIENT_ID、GCM_SENDER_ID等核心配置无错误。同时在Xcode中检查该文件是否已被添加为目标成员。升级Firebase相关依赖
旧版本SDK可能存在此已知问题,执行以下操作更新:- Flutter项目:在
pubspec.yaml中升级firebase_messaging至最新稳定版,运行flutter pub get。 - iOS原生项目:在
Podfile中指定Firebase SDK最新版本,执行pod update Firebase/Messaging。
- Flutter项目:在
验证APNs配置
- 确认Apple开发者后台已生成正确的APNs证书,并上传至Firebase控制台的项目设置页。
- 在Xcode项目的
Signing & Capabilities中,确保添加了Push Notifications能力,且Background Modes中勾选Remote notifications。
清理缓存并重构项目
- Flutter项目:运行
flutter clean,删除ios/Pods和Podfile.lock,执行pod install后重新编译。 - Xcode原生项目:执行
Product > Clean Build Folder,再重新构建项目。
- Flutter项目:运行
排查网络环境
设备需正常访问Firebase服务,代理或防火墙可能阻断Token获取请求。可切换至手机热点等其他网络测试。
内容的提问来源于stack exchange,提问作者Amit Pal
相关产品推荐
相关产品推荐

