React Native iOS设备无法通过FCM接收推送,更新配置后仍无效求助
iOS FCM推送通知恢复指南(证书过期更新后仍异常)
以下是针对证书过期更新后FCM推送仍失效的排查解决步骤:
核对Firebase后台APNs配置
- 登录Firebase控制台,进入项目设置→云消息传递,确认上传的APNs认证密钥是最新生成的,且关联的Apple开发者团队正确
- 检查密钥权限:生成APNs密钥时必须勾选「Apple Push Notification service (APNs)」,未开启则需重新生成并上传
- 匹配推送环境:开发包对应「Sandbox」,生产包对应「Production」,确保Firebase后台的环境设置与GoogleService-Info.plist中的
IS_PRODUCTION字段一致
清理并更新本地配置
- 删除Xcode中旧的描述文件:打开Xcode偏好设置→账户→选择对应团队→点击「查看详情」→删除所有过期的Provisioning Profiles,再点击「下载手动配置文件」获取最新版本
- 验证项目签名与能力:在Xcode项目的「Signing & Capabilities」标签下,确认「Push Notifications」已启用,自动签名使用的是更新后的团队和配置文件
- 清理项目缓存:执行
Cmd+Shift+K清理构建文件夹,再执行Cmd+Option+Shift+K清理派生数据,避免旧配置残留
重新生成GoogleService-Info.plist
- 从Firebase项目设置页面重新下载最新的GoogleService-Info.plist,替换项目中的旧文件,确保所有字段完整无遗漏
- 检查plist关键字段:
APNS_ENVIRONMENT需与当前打包环境匹配(开发包为development,生产包为production)
验证设备端状态
- 重新请求推送权限:在App启动逻辑中调用
UNUserNotificationCenter.current().requestAuthorization,确保用户已授权推送 - 获取并测试新FCM令牌:调用
Messaging.messaging().token(completion:)获取最新令牌,复制到Firebase控制台的「测试消息」功能中发送测试推送,验证是否能收到 - 查看控制台日志:如果令牌获取失败,搜索
APNS相关错误信息,定位具体配置问题
- 重新请求推送权限:在App启动逻辑中调用
检查Apple开发者账号状态
- 登录Apple开发者后台,进入「Certificates, Identifiers & Profiles」→「Identifiers」,找到对应App ID,确认「Push Notifications」已启用,且开发/生产环境的证书状态正常
- 确认账号无欠费或违规情况,避免推送服务被限制
内容的提问来源于stack exchange,提问作者Trần Ân
相关产品推荐
相关产品推荐

