首页 > 解决方案 > 为什么我没有收到带有连接到 Xcode 调试器的调试版本的 iOS 推送通知?

问题描述

当我使用 CI 机器构建的 TestFlight 版本测试应用程序时,设备会收到推送通知。

但是,当我在连接调试器的情况下在本地 Xcode 下重建应用程序时,设备不会收到任何推送通知。

为了进一步验证,我再次使用推送通知测试器在本地进行了测试,并且该设备确实收到了推送通知。

因此,由于授权和注册通过时它是#DEBUG 构建,因此不会省略代码。

我的本地构建可能缺少什么?

标签: swiftapple-push-notifications

解决方案


当您在本地调试中构建您的应用程序时,您的应用程序将生成一个不接收生产推送通知的唯一设备令牌。当您使用分发配置文件构建您的应用程序时,它会生成一个在生产环境中工作的不同设备令牌。

Apple 将拒绝开发设备令牌,除非您使用您的 APNS 沙盒证书专门请求推送通知。

因此,如果您还没有完成证书创建过程,那么您将不得不重新完成证书创建过程,但这次是使用沙盒证书并使用该证书。


推荐阅读