You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter应用Firebase FCM消息在TestFlight发布版完全无法接收求助

排查方案
  • APNs证书/密钥环境校验:TestFlight属于iOS生产环境,需确认Firebase控制台iOS应用配置页已上传生产环境APNs证书,若使用APNs密钥需确认密钥权限包含生产环境推送权限,未被限制仅开发环境可用。
  • Swift代理方法签名修正:你当前实现的didRegisterForRemoteNotificationsWithDeviceToken方法缺少必要的参数标签与override声明,正确写法如下:
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    super.application(application, didRegisterForRemoteNotificationsWithDeviceToken: deviceToken)
    print(deviceToken)
    Messaging.messaging().apnsToken = deviceToken
}

原方法签名不匹配系统代理要求,生产环境打包时不会被系统触发,导致FCM无法获取生产环境APNs token,是该问题最可能的诱因。

  • 打包签名配置校验:确认导出TestFlight安装包时使用的Provisioning Profile包含生产环境推送权限,Xcode的Signing & Capabilities面板中Push Notifications功能的Production选项已勾选。
  • 推送目标环境校验:若你自行实现推送发送逻辑,需确认发送给TestFlight版本的推送请求中,APNs配置的environment参数设置为production,而非开发用的sandbox;VoIP推送的apns-push-type需指定为voip,apns-topic需与应用Bundle ID保持一致。
  • 冗余配置清理:Info.plist的UIBackgroundModes数组中remote-notification重复添加了两次,建议删除多余条目避免不可预知的异常。
  • Token上报日志排查:可在TestFlight版本中增加埋点日志,确认生产环境下APNs token、PushKit token是否正常生成并上报到FCM与业务后台,若token未上报需进一步排查权限申请逻辑是否正常。

内容的提问来源于stack exchange,提问作者CybeX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:45:05