如何让我的调试应用程序版本在iOS上接收生产推送通知?

时间:2014-06-30 13:52:31

标签: ios ios7 push-notification xcode5 apple-push-notifications

我的服务器只有一个版本的发送推送通知,它有我的生产(发布)推送证书。

如何使用相同的生产证书在我的调试设备和调试版本上测试通知?

我的设备正在发送令牌,但当我尝试发送真实的推送通知时,Apple服务器返回状态8错误,这意味着设备令牌不正确。

4 个答案:

答案 0 :(得分:9)

派对有点晚了,但即使所有其他答案都是正确的,他们也不会真正回答你的问题。

答案是:您无法使用调试版本测试生产APNS。

调试版本将始终获取沙箱 APNS令牌。

发布版本(ad-hoc或应用商店)将始终获得生产 APNS令牌。

背后的逻辑是,为了调试应用程序,您需要使用调试证书和配置文件进行签名。该配置文件确定您的应用程序连接到哪个APNS端点。

答案 1 :(得分:8)

如果使用开发配置文件构建应用程序,您将收到一个沙盒设备令牌,该令牌仅在沙盒推送环境中有效(使用沙箱推送服务器和沙盒推送证书)。

如果您使用生产或AdHoc配置文件构建应用程序,您将收到生产设备令牌,该令牌仅在生产推送环境中有效(使用生产推送服务器和生产推送证书)。

答案 2 :(得分:3)

如果您想在生产模式下测试您的应用,则需要使用ad hoc分发应用的发布版本。

当您的应用程序准备好提交时,您可以创建一个临时配置文件,指定与您的一个或多个应用程序,一组测试设备和一个分发证书相匹配的应用程序ID。

这是一张图片,用于说明配置文件的工作原理:

enter image description here

答案 3 :(得分:0)

可能的解决方法是同时发送生产和沙箱推送通知。我想如果要测试内部(例如使用AdHoc构建)可能会有所帮助;但是,我认为在您的生产环境中部署这种奇怪的方式并不合理。