我们使用开发认证和 gateway.sandbox.push.apple.com 向配置的设备发送通知没有问题。但是现在我们的应用程序已经在商店中,看起来我们甚至无法连接到生产 apn 服务器 (gateway.push.apple.com) 来发送推送,即使我们使用的是在中创建证书的机器第一名。
我们已经通过 PushMeBaby 运行了它,看起来与 gateway.push.apple.com 的连接被拒绝了。当它执行握手 ( SSLHandshake(context) ) 时,结果是错误代码 -9044,或 errSSLConnectionRefused - 对等端在响应之前断开了连接。
我对 SSL 和加密非常了解,知道我什么都不知道,但我很确定问题出在(或开始于)我们的生产 SSL 证书。在 iPhone 门户中为生产启用推送通知(我们有绿灯)。证书已安装在运行 PushMeBaby 的机器上,我在我的钥匙串(keychain)中看到了证书和签名 key 。当我导出开发推送证书并在 PushMeBaby 中使用它时,我能够毫无问题地连接(并发送推送)。但是有了生产证书,我们无处可去。我们在两台不同的计算机上反复撤销并重新创建了开发证书和生产证书,因此如果这是人为错误,我们会反复这样做。
可能是一个因素,我的 key 链上有“团队代理” key ,但我不是她。我可以并且已经将二进制文件毫无问题地提交到应用程序商店。
此外,我们还没有在创建生产证书后设置配置文件。我不确定这是否是一个因素,但我看不出它对店内应用有何影响。
我当然希望有人有一些想法,因为我没有这些想法!
最佳答案
正如文档所说,推送通知存在 2 个证书和 2 个 IP 地址:
- 沙盒:gateway.sandbox.push.apple.com,端口 2195。(用于开发)
- 生产环境:gateway.push.apple.com,端口 2195。(用于发布)
您总是使用网关进行开发。尝试使用其他网关(用于生产)。
有关更多信息,请参见此处:Provisioning and Development
关于iphone - 无法连接到生产 Apple 推送通知服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319337/