在我的应用程序开发过程中,我已成功使用我的 APNs 身份验证密钥。一直很好地接收推送通知,并且所有缩进行为都已存在。
但是,对于生产(测试飞行),所有通知都失败了。我一直在努力理解为什么,并假设我在客户端上错误地签署/配置了某些内容(但是我确保使用
Messaging.messaging().setAPNSToken(deviceToken, type: .prod)
)。
在绝望的摸索中,我更改了 Firebase 配置以使用 APNS 证书,而且,出于我之外的原因,我的推送通知已开始在我的生产环境中工作。
我对 APNs Auth Keys 而不是证书相对较新,所以我认为我错过了一些东西,但是,由于这些傻瓜应该对整个开发者帐户有好处(对吗?)我完全不知所措到什么。
使用身份验证密钥时出现一些错误,因为我也遇到了同样的问题。更改 APNs 身份验证密钥并使用传统 APNs 证书后,所有通知将再次正常工作。
也许这个答案可以解决您的问题: 使用 Firebase 和 APNs 身份验证密钥进行生产推送通知
就我而言,我在获取令牌之前调整添加此行:
FirebaseMessaging.instance.getAPNSToken() ;