APNs 身份验证密钥在 Firebase 中生产失败

问题描述 投票:0回答:4

在我的应用程序开发过程中,我已成功使用我的 APNs 身份验证密钥。一直很好地接收推送通知,并且所有缩进行为都已存在。

但是,对于生产(测试飞行),所有通知都失败了。我一直在努力理解为什么,并假设我在客户端上错误地签署/配置了某些内容(但是我确保使用

Messaging.messaging().setAPNSToken(deviceToken, type: .prod)
)。

在绝望的摸索中,我更改了 Firebase 配置以使用 APNS 证书,而且,出于我之外的原因,我的推送通知已开始在我的生产环境中工作。

我对 APNs Auth Keys 而不是证书相对较新,所以我认为我错过了一些东西,但是,由于这些傻瓜应该对整个开发者帐户有好处(对吗?)我完全不知所措到什么。

ios swift apple-push-notifications firebase-cloud-messaging provisioning-profile
4个回答
6
投票

使用身份验证密钥时出现一些错误,因为我也遇到了同样的问题。更改 APNs 身份验证密钥并使用传统 APNs 证书后,所有通知将再次正常工作。

也许这个答案可以解决您的问题: 使用 Firebase 和 APNs 身份验证密钥进行生产推送通知


4
投票

确保您已将推送通知权利包含在发布和调试版本中。 我研究了半天才发现这个错误。谢谢苹果。


0
投票

当它在 TestFlight 或本地开发上时,它与苹果开发推送服务器通信,我们需要将 apns 令牌转换为注册令牌。只要使用APNS密钥,这是新的解决方案,如果是本地dev或TestFlight,没关系。

当 firebase 一直说无法发送消息时,我浪费了 2 个小时,这是因为我在使用从 TestFlight 下载的应用程序时需要将沙箱布尔值设置为 false .....


0
投票

就我而言,我在获取令牌之前调整添加此行:

FirebaseMessaging.instance.getAPNSToken() ;

© www.soinside.com 2019 - 2024. All rights reserved.