缺少推送通知授权,即使设置了 aps-environment 授权。 iOS 和试飞

Missing Push Notification Entitlement, even with aps-environment entitlement set. iOS and Testflight

早上好!

我正在努力让我的应用程序接收来自 Firebase 云消息传递的推送通知。当我将我的构建添加到 testflight 时,我收到一封包含错误代码的警告电子邮件:ITMS-90078:缺少推送通知授权,我允许 xcode 管理我的个人资料,它具有 aps-environment 权利和推送通知的能力,以及开发签名证书,如您在 xcode:

的屏幕截图中所见

幸运的是,这只是一个警告,所以我仍然可以将此构建推送给我的 testflight 测试人员,但他们不会收到推送通知。我可以确认 firebase 云消息正在生成设备消息令牌,并且它很好地存储在我的 firebase 数据库中,所以我认为这不是问题。

我还确认我有分配给此捆绑包 ID 的 Production Apple Push 通知 SSL 证书,如下所示:

截了这个截图后,我也尝试添加开发SSL证书,但是问题依旧。

我在 apple dev 论坛和 Stack exchange 上发现了许多其他帖子,但大多数都是 4 年前的帖子,看起来不再相关。示例:Missing Push Notification Entitlement warning

我错过了什么?提前感谢您的宝贵时间和帮助!

更新

我现在也尝试使用我设置的配置文件来解决这个问题,而不是让 xcode 为我管理它。这是一个“App Store Distribution”配置文件。

同样的问题,收到同样的电子邮件错误,并且任何已安装的应用程序都没有收到推送通知。有什么建议么?谢谢!

在与我的一位比我更精通 Apple 流程的朋友进行了数小时的调试会话后,我们设法找出了问题所在。一切都设置正确......我所有的证书都符合要求,所有配置文件和 Bundle ID 都匹配,一切看起来都很好。这个问题是出于某种原因,xcode 显示了我来自 appstoreconnect 和 developer.apple.com 的所有证书,但它不包括本地授权文件和最终上传到 app store connect 的二进制文件,这引起了错误,并最终阻止了推送通知的工作。修复很简单……只需在签名和功能中单击“所有”旁边的“+ 功能”,搜索并添加推送通知,就可以了!这将适当的权利添加到我的二进制文件中,然后在应用商店连接中查找证书。现在上传时不会出现错误消息,并会立即开始使用此新版本的任何安装推送通知。我希望有一天这对某人有所帮助! Apple,请让这更直截了当,否则不要让 xcode 谎报其证书!