缺少推送通知权限,即使已经设置了aps-environment权限。iOS和Testflight

9

早上好!

我正在努力使我的应用程序能够从Firebase云消息中心接收推送通知。当我将构建添加到TestFlight时,我会收到一封警告邮件,其中包含错误代码:ITMS-90078:缺少推送通知权限。我允许Xcode管理我的配置文件,该配置文件具有aps-environment权限和推送通知的功能,并且具有开发签名证书,正如您在这张来自Xcode的截图中所看到的:

enter image description here

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

我还确认我已经将生产用的Apple推送通知SSL证书分配给了这个bundle ID,如下所示: enter image description here

enter image description here

在我拍摄这张屏幕截图之后,我还尝试添加了一个开发SSL证书,但问题仍然存在。

我在苹果的开发者论坛和这里的Stack exchange上找到了许多其他帖子,但大多数都是四年前的问题,不再相关。例如:缺少推送通知权限的警告

我错过了什么?非常感谢您的时间和帮助!

更新

现在,我也尝试使用我设置的配置文件来修复此问题,而不是允许Xcode为我管理它。它是一个“应用商店分发”配置文件。enter image description here

enter image description here

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

1个回答

16
经过与一位比我更熟悉苹果流程的朋友进行数小时的调试后,我们终于找到了问题所在。一切都设置正确...我的所有证书都齐全,所有配置文件和包标识符都匹配,看起来一切都很正常。问题是由于某种原因,xcode显示了我从appstoreconnect和developer.apple.com获取的所有证书,但它没有将一个本地的entitlements文件与最终上传到app store connect的二进制文件一起上传,这导致了错误,并最终导致推送通知无法工作。修复方法很简单...只需在签名和能力旁边的“+ 能力”上点击,搜索并添加推送通知,然后就可以了!这会向我的二进制文件添加正确的entitlements,然后查找app store connect中的证书。现在上传不再显示错误信息,并且从此新版本开始安装后立即启用推送通知。希望这能帮助某个人,某天!苹果,请让这更加简单明了,或者不要让xcode关于其证书说谎!

4
只需在签署和功能旁边单击“+功能”,搜索并添加推送通知即可。 - user2976753
嗨,我有一个类似的问题。我有授权文件,但我认为它们没有随IPA一起发送。 - alexlipa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接