React Native iOS端发送Firebase推送通知报InvalidApnsCredential错误
报错说明
你遇到的InvalidApnsCredential是Firebase Cloud Messaging返回的APNs凭证无效错误,代表Firebase无法通过你上传的凭证和苹果APNs服务完成鉴权,导致推送请求被拦截,错误返回详情如下:
{ "multicast_ids": [ 7528209830142839690 ], "success": 0, "failure": 1, "canonical_ids": 0, "results": [ { "error": "InvalidApnsCredential" } ], "topic_message_id": null }
排查修复步骤
- 确认APNs凭证和运行环境匹配:debug模式真机运行需要匹配开发环境APNs凭证,TestFlight/App Store/release打包需要匹配生产环境APNs凭证,两种环境的凭证禁止混用
- 校验APNs凭证有效性:如果使用.p8认证密钥,确认Apple Developer后台该密钥开启了APNs权限,上传到Firebase控制台时填写的Team ID、密钥ID、Bundle ID与实际配置完全一致;如果使用.p12证书,确认导出时同时包含公钥和私钥,证书未过期、未被吊销
- 检查Xcode项目配置:打开Signing & Capabilities标签,确认已添加Push Notifications能力,Background Modes下已勾选Remote notifications选项,当前签名所用的Team和生成APNs凭证的Apple Developer Team一致
- 验证Firebase配置文件:项目中使用的
GoogleService-Info.plist是当前Bundle ID对应Firebase项目下载的文件,修改过Bundle ID后必须重新下载替换该文件 - 测试环节校验:开发环境测试必须使用真机,模拟器不支持APNs推送,同时确认设备已经为当前App开启了通知权限
内容的提问来源于stack exchange,提问作者Ganesh Hojage
相关产品推荐
相关产品推荐

