我的服务器只有一个版本的发送推送通知,它有我的生产(发布)推送证书。
如何使用相同的生产证书在我的调试设备和调试版本上测试通知?
我的设备正在发送令牌,但当我尝试发送真实的推送通知时,Apple服务器返回状态8错误,这意味着设备令牌不正确。
答案 0 :(得分:9)
派对有点晚了,但即使所有其他答案都是正确的,他们也不会真正回答你的问题。
答案是:您无法使用调试版本测试生产APNS。
调试版本将始终获取沙箱 APNS令牌。
发布版本(ad-hoc或应用商店)将始终获得生产 APNS令牌。
背后的逻辑是,为了调试应用程序,您需要使用调试证书和配置文件进行签名。该配置文件确定您的应用程序连接到哪个APNS端点。
答案 1 :(得分:8)
如果使用开发配置文件构建应用程序,您将收到一个沙盒设备令牌,该令牌仅在沙盒推送环境中有效(使用沙箱推送服务器和沙盒推送证书)。
如果您使用生产或AdHoc配置文件构建应用程序,您将收到生产设备令牌,该令牌仅在生产推送环境中有效(使用生产推送服务器和生产推送证书)。
答案 2 :(得分:3)
如果您想在生产模式下测试您的应用,则需要使用ad hoc分发应用的发布版本。
当您的应用程序准备好提交时,您可以创建一个临时配置文件,指定与您的一个或多个应用程序,一组测试设备和一个分发证书相匹配的应用程序ID。
这是一张图片,用于说明配置文件的工作原理:
答案 3 :(得分:0)
可能的解决方法是同时发送生产和沙箱推送通知。我想如果要测试内部(例如使用AdHoc构建)可能会有所帮助;但是,我认为在您的生产环境中部署这种奇怪的方式并不合理。