55

伙计们,我在弄清楚 APNS(推送通知)开发人员(沙盒)和生产模式之间的主要区别时遇到了一些麻烦。特别是我有以下问题:

1) 我可以在应用商店上使用仅注册 APNS 开发者证书的推送通知启动应用吗?或者我需要使用 APNS Production 来开发我想在应用商店上发布的应用吗?

2) 一般来说,除了“开发 APNS 的开发”和“生产 APNS 的生产”之外,还有哪些功能性原因会影响我的决定。特别是为什么我会选择为我的应用程序实施 APNS 开发人员证书,为什么不只在生产推送帐户上运行所有内容?

以下是 Apple 在其网站上所说的内容,但并未触及我问题的核心:

开发:使用开发环境进行提供商应用程序的初始开发和测试。它提供与生产环境相同的一组服务,尽管服务器单元数量较少。开发环境还充当虚拟设备,支持模拟端到端测试。您可以通过 gateway.sandbox.push.apple.com 访问开发环境,出站 TCP 端口 2195。

生产:在构建供应商应用程序的生产版本时使用生产环境。使用生产环境的应用程序必须满足 Apple 的可靠性要求。

4

2 回答 2

47

如果您想将您的应用程序发布到应用商店,您将需要使用生产配置文件,因此使用 APNS 开发人员证书发送的所有通知都不会到达您使用生产配置文件签名的应用程序。

为什么不只使用生产 APNS 证书?好吧,您可以这样做,但是...

  • 为了进行测试,您需要使用 Production Ad Hoc Provisioning Profile 构建您的应用程序,这是编译时的大量额外工作
  • 在开发中使用生产证书,因此使用临时构建,您无法使用调试器运行。使故障排除非常痛苦。
  • 测试通知使一切都投入生产,因此您必须格外小心
于 2015-02-17T04:48:29.120 回答
24

dminones 的回答非常准确。我想指出您现在可以在开发中使用生产证书。不同之处在于您将发送到“gateway.sandbox.push.apple.com”进行开发,发送到“gateway.push.apple.com”进行生产。我认为分离沙箱和生产的原因是为了避免向真实用户发送测试推送通知。想象一下,你做了爆炸通知,你的所有用户都会收到通知。

于 2017-08-19T11:05:56.610 回答