如何将证书从开发切换到生产?

时间:2015-12-17 20:41:10

标签: ios ssl parse-platform ad-hoc-distribution

我正在尝试测试我的应用程序,但是当我使用通知时,我收到错误,因为我有一个开发APN而不是生产APN。我的问题是将其上传到解析。首先我创建了一个开发SSL证书,然后我回去做了一个生产SSL证书,但我上传生产证书时遇到了麻烦,因为它不是APN,而是Apple推送服务。我还创建了一个分发配置(ad hoc)。

enter image description here

1 个答案:

答案 0 :(得分:2)

苹果推送通知服务有点奇怪:

在客户端: 如果您使用Xcode构建客户端,通常会构建一个" Debug"你的应用程序的版本。在这种情况下,registerForRemoteNotification方法将为您创建一个沙箱设备令牌。

如果您构建"发布"您的应用版本使用相同的方法为您创建生产设备令牌。

在服务器端: 如果您有沙箱设备令牌,则只有在将沙盒SSL证书与Apples沙箱推送通知服务一起使用时,才能向该设备发送推送通知。

如果您有生产设备令牌,则必须使用带有生产SSL证书的Apples生产推送通知服务向该设备发送推送通知。

棘手的部分是:

  1. 如果您只有设备令牌,则无法知道它是生产设备令牌还是沙箱设备令牌。
  2. 如果要对同一服务器使用发布和调试客户端,则该服务器必须同时使用沙箱和生产服务。您需要一种机制来决定何时使用哪种服务。
  3. BTW:Ray Wenderlich提供了一个很好的教程,它还包含一个有用的PHP脚本,便于测试。 http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1