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

Posted

技术标签:

【中文标题】如何将证书从开发切换到生产?【英文标题】:How do I switch the certificate from development to production? 【发布时间】:2015-12-17 20:41:09 【问题描述】:

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

【问题讨论】:

【参考方案1】:

Apples Push Notification 服务有点奇怪:

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

如果您构建应用的“发布”版本,同样的方法会为您创建生产设备令牌。

在服务器端: 如果您有沙盒设备令牌,则只有在使用 Apple 的沙盒推送通知服务和沙盒 SSL 证书时,您才能向该设备发送推送通知。

如果您有生产设备令牌,那么您必须使用 Apple 的生产推送通知服务和您的生产 SSL 证书来向该设备发送推送通知。

棘手的部分是:

    如果您只有一个设备令牌,您将不知道它是生产设备令牌还是沙盒设备令牌。 如果您想针对同一台服务器使用发布和调试客户端,该服务器必须同时使用沙盒和生产服务。而且您需要一种机制来决定何时使用哪种服务。

顺便说一句:Ray Wenderlich 有一个很好的教程,其中还包含一个有用的 php 脚本,以便于测试。 http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1

【讨论】:

我仍然很迷茫,对不起,我对此很陌生。所以我需要上传一个证书来解析,他们只接受 APNs,我需要一个生产 APNs 证书。我遵循了多项说明,但我获得了 Apple Push Services。 啊,我看到了...“上传到解析”,就像在 parse.com 网络服务中一样。抱歉,我从未使用过 Parse。恐怕我帮不了你.... :-/ 是的,但是很好解析不是什么大问题,问题在于创建生产证书。在上图中,它说的是 Apple 推送服务,而开发者说的是 APNs 开发,我需要它来进行生产,所以不是 Apple 推送服务,而是 APNs 生产。 苹果方面似乎有问题forums.developer.apple.com/thread/28701

以上是关于如何将证书从开发切换到生产?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5 如何从生产模式切换

如何切换到生产环境

APNS - 将应用程序退出生产并投入开发

在从本地迁移到Azure SQL数据库时如何计划生产切换?

如何在 Laravel 中将 Vue.js 切换到生产模式?

如何将负载均衡器从 HTTP 切换到 HTTPS?