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

获取Sender ID为'xxxxxxxxxx'的FCM Token前未设置APNS device token求助

问题解决方案

错误信息:获取Sender ID为'xxxxxxxxxx'的FCM Token前未设置APNS device token。通过该FCM Token发送的通知无法通过APNS送达。请在APNS device token设置完成后重新获取FCM Token。
已在Firebase中添加了APNS的密钥和认证文件,但仍出现该错误。

以下是针对性解决步骤:

  • 确保客户端APNS Token优先获取
    iOS端必须先成功获取APNS device token,再触发FCM Token的获取流程。正确的代码逻辑示例(Swift):

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        // 先将APNS Token传给Firebase
        Messaging.messaging().apnsToken = deviceToken
        // 再获取FCM Token
        Task {
            do {
                let token = try await Messaging.messaging().token()
                print("成功获取FCM Token: \(token)")
            } catch {
                print("FCM Token获取失败: \(error.localizedDescription)")
            }
        }
    }
    

    注意:不要在APP启动时直接调用FCM的getToken,必须等APNS Token获取完成后再执行。

  • 匹配APNS配置与运行环境
    确认Firebase控制台的APNS配置(密钥/证书)和当前APP的运行环境一致:

    • 开发环境(Debug):使用开发APNS证书,或确保APNS密钥已关联开发环境
    • 生产环境(Release):使用生产APNS证书,或APNS密钥关联生产环境
      同时检查GoogleService-Info.plist中的APNS_ENVIRONMENT字段,开发环境设为development,生产环境设为production。
  • 清理缓存并重装APP
    卸载当前APP,清除设备上的推送缓存,重新安装后测试Token获取流程,避免旧Token缓存导致的冲突。

  • 验证推送权限状态
    检查APP是否已获得用户的推送授权:

    1. 打开iOS设置 → 找到对应APP
    2. 确认“通知”权限已开启
      没有授权的话,无法获取APNS Token,自然会触发该错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 23:27:34