当我使用由CI机器构建的TestFlight版本测试应用程序时,设备会收到推送通知。
但是当我在连接了调试器的情况下在Xcode本地重建应用程序时,设备不会收到任何推送通知。
为了进一步验证结果,我再次使用push notifications tester在本地进行了测试,该设备确实收到了推送通知。
因此,由于是授予和注册通过时的#DEBUG构建,因此不会省略该代码。
我的本地版本可能丢失了什么?
答案 0 :(得分:0)
在本地调试中构建应用程序时,您的应用程序将生成一个唯一的设备令牌,该令牌不会接收生产推送通知。当您使用发行设置配置文件构建应用程序时,它会生成一个在生产环境中有效的设备令牌。
除非您明确要求使用APNS沙盒证书请求推送通知,否则Apple将拒绝开发设备令牌。
因此,如果还没有,则必须重新进行证书创建过程,但是这次需要一个沙箱证书,而要使用该证书。
答案 1 :(得分:0)
解决方案最终是,带有休斯顿 gem的服务器需要将其APNS支持配置为development
模式,而不是production
模式。