我们使用开发认证和 gateway.sandbox.push.apple.com 向配置的设备发送通知没有任何问题。但现在我们的应用程序已在商店中,看来我们甚至无法连接到生产 apn 服务器 (gateway.push.apple.com) 来发送推送,即使我们使用在第一名。
我们已通过 PushMeBaby 运行此操作,看起来与 gateway.push.apple.com 的连接被拒绝。当它执行握手 ( SSLHandshake(context) ) 时,结果是错误代码 -9044 或 errSSLConnectionRefused - 对等方在响应之前断开了连接。
我对 ssl 和加密有足够的了解,知道我什么都不知道,但我很确定问题是(或始于)我们的生产 SSL 证书。 iPhone 门户中的生产启用了推送通知(我们已亮绿灯)。证书已安装在运行 PushMeBaby 的计算机上,我在钥匙串中看到了证书和签名密钥。当我导出开发推送证书并在 PushMeBaby 中使用它时,我能够毫无问题地连接(并发送推送)。但有了生产证书,我们却一事无成。我们已多次在两台不同的计算机上撤销并重新创建开发证书和产品证书,因此,如果这是人为错误,我们将重复执行此操作。
可能有一个因素是我的钥匙链上有“团队代理”钥匙,但我不是她。我可以并且已经向应用程序商店提交了二进制文件,没有任何问题。
此外,我们在创建生产证书后还没有设置配置文件。我不确定这是否是一个因素,但我不知道这对于店内应用程序来说会如何。
我当然希望有人有一些想法,因为我没有这些想法!
正如文档所述,推送通知存在 2 个证书和 2 个 IP 地址:
- 沙箱:gateway.sandbox.push.apple.com,端口2195。(用于开发)
- 生产:gateway.push.apple.com,端口2195。(用于发布)
您始终使用网关进行开发。尝试使用其他网关(用于生产)。
欲了解更多信息,请参见此处:配置和开发 http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ProvisioningDevelopment/ProvisioningDevelopment.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)