iOS中的开发和生产SSL证书有什么区别?

时间:2016-02-25 11:23:04

标签: ios xcode apple-push-notifications

这可能是一个奇怪的问题但是我真的很困惑。为什么我们必须在iOS中为推送通知创建开发和生产SSL证书?开发和生产证书有什么区别?

我正在开发一个带推送通知的iOS应用程序(由自托管解析服务器处理),当我将环境从开发切换到生产(带有生产证书)时,我不再收到推送通知在我的设备上。一旦我将此应用程序上传到应用程序商店(然后,它将在生产中),它是否会起作用?或者我可以测试"我的生产环境,以确保通知在应用程序商店发布后在我的应用程序中有效吗?

2 个答案:

答案 0 :(得分:12)

Apple使用不同的服务器向应用的开发版本和应用商店版本发送推送通知。开发版本称为Sandbox。 iOS维护与其推送服务器的持久连接,具体取决于其开发版本还是生产版本。根据您的应用程序签署的证书(Dev或App Store / Ad Hoc),它将创建与相应推送服务器的持久连接。由于两台服务器不同,因此需要使用不同的SSL证书来建立与服务器的安全连接。

有关详细信息,请参阅:

https://developer.apple.com/library/ios/technotes/tn2265/_index.html

答案 1 :(得分:1)

如果您在应用程序中测试推送通知,那么您可以轻松地通过调试模式检查此目的,您需要开发SSL证书。如果您将应用程序上传到App Store,那么您需要添加生产SSL证书(对于实时应用程序推送通知,您希望添加生产SSl)。