为什么我没有收到带有连接到Xcode调试器的调试版本的iOS推送通知?

时间:2019-03-12 23:56:17

标签: swift apple-push-notifications

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

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

为了进一步验证结果,我再次使用push notifications tester在本地进行了测试,该设备确实收到了推送通知。

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

我的本​​地版本可能丢失了什么?

2 个答案:

答案 0 :(得分:0)

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

除非您明确要求使用APNS沙盒证书请求推送通知,否则Apple将拒绝开发设备令牌。

因此,如果还没有,则必须重新进行证书创建过程,但是这次需要一个沙箱证书,而要使用该证书。

答案 1 :(得分:0)

解决方案最终是,带有休斯顿 gem的服务器需要将其APNS支持配置为development模式,而不是production模式。