修改Flutter应用Bundle ID与Firebase项目后iOS推送通知失效排查
问题描述
近期修改了Flutter应用的Bundle ID,并创建新Firebase项目匹配更新后的Bundle ID。Android端推送正常,但iOS端无法接收推送。
已执行步骤
- 创建新Firebase项目并添加带更新后Bundle ID的iOS应用
- 下载
GoogleService-Info.plist文件替换至Flutter项目 - 在Apple开发者控制台生成新APNs Authentication Key并上传至Firebase
- 验证配置:Xcode中Bundle ID与Firebase一致,配置文件和证书正确,APNs密钥关联正常,已启用推送通知和后台模式(远程通知)
现象
Android推送无异常,iOS应用无法接收任何推送。
已尝试操作
- 重新检查并上传APNs密钥
- 验证设备推送注册状态
- 通过Firebase控制台及后端测试推送
- 查看Xcode日志未发现推送相关错误
疑问
- 修改Bundle ID后配置Firebase for iOS是否有遗漏步骤?
- 如何进一步调试定位iOS推送未接收的原因?
更新
通过Apple Push Notification控制台发送推送,设备成功接收:
- 通知投递报告(截图)
- 后台模式已启用(截图)
问题已解决
最终确认两个问题:
- 上传至Firebase的APNs密钥与实际生成的不匹配
- iOS端Firebase测试通知需发布测试活动才会发送,而Android端点击活动内「发送测试消息」按钮即可接收
内容的提问来源于stack exchange,提问作者Gokul S Pillai
相关产品推荐
相关产品推荐

