缺少推送通知权利,即使设置了 aps-environment 权利也是如此。iOS 和测试飞行

Chr*_*ple 9 push-notification apple-push-notifications ios firebase-cloud-messaging

早上好!

我正在努力让我的应用程序接收来自 Firebase 云消息传递的推送通知。当我将构建添加到 testflight 时,我收到一封警告电子邮件,其中包含错误代码:ITMS-90078: Missing Push notification Entitlement,我允许 xcode 管理我的个人资料,该个人资料具有 aps-environment 权利和推送通知功能,和一个开发签名证书,正如您在 Xcode 的屏幕截图中看到的那样:

在此输入图像描述

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

我还确认我已分配给此捆绑包 ID 的生产 Apple 推送通知 SSL 证书,如下所示: 在此输入图像描述

在此输入图像描述

拍摄此屏幕截图后,我还尝试添加开发 SSL 证书,但问题仍然存在。

我在苹果开发者论坛和 Stack Exchange 上找到了许多其他帖子,但大多数都是 4 年前的帖子,并且不再相关。示例:缺少推送通知权利警告

我缺少什么?感谢您提前抽出时间并提供帮助!

更新

我现在还尝试使用我设置的配置文件来解决此问题,而不是让 xcode 为我管理它。它是一个“App Store Distribution”配置文件。在此输入图像描述

在此输入图像描述

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

Chr*_*ple 16

在与我的一位比我更熟悉 Apple 流程的朋友进行了几个小时的调试之后,我们设法解决了这个问题。一切都设置正确...我的所有证书都一致,所有配置文件和捆绑包 ID 都匹配,一切看起来都很好。问题是由于某种原因,xcode 显示了我来自 appstoreconnect 和developer.apple.com 的所有证书,但它不包括最终上传到 app store connect 的二进制文件的本地权利文件,这导致了错误,并且最终阻止了推送通知的工作。修复很简单...只需单击签名和功能中“全部”旁边的“+ 功能”,搜索并添加推送通知,然后宾果游戏!这会向我的二进制文件添加适当的权利,然后在应用程序商店连接中查找证书。现在,上传时不会出现错误消息,并且此新版本的任何安装都会立即开始工作并推送通知。我希望有一天这可以帮助别人!Apple,请让这更简单,或者不要让 xcode 在其证书上撒谎!

  • 只需单击签名和功能中“全部”旁边的“+功能”,搜索并添加推送通知 <-------- 这 (4认同)