我们使用开发认证和gateway.sandbox.push.apple.com向通知设置发送通知没有任何问题。但现在现在我们的应用程序已经在商店中了,即使我们使用创建证书的机器,我们甚至无法连接到生产apn服务器(gateway.push.apple.com)来发送推送第一个地方。无法连接到生产Apple推送通知服务器
我们已经通过PushMeBaby运行了它,它看起来像到gateway.push.apple.com的连接正在被拒绝。当它执行握手(SSLHandshake(context))时,结果是错误代码-9044或errSSLConnectionRefused - 对等体在响应之前断开连接。
我对ssl和加密有足够的了解,知道我不知道某件事情,但我非常肯定问题是(或开始于)我们的生产SSL证书。推送通知在iPhone门户中启用生产(我们有绿灯)。证书已安装在运行PushMeBaby的计算机上,我在钥匙串中看到证书和签名密钥。当我导出开发推送证书并在PushMeBaby中使用它时,我能够连接(并发送推送)没有问题。但随着生产证书,我们无处可去。我们一再撤消并在两台独立的计算机上重新创建了开发证书和产品证书,所以如果这是人为错误,我们会一再重复。
有一点可能是一个因素,我的钥匙串上有“团队代理”键,但我不是她。我可以并且没有任何问题地将二进制文件提交给App Store。
另外,创建生产证书后,我们还没有设置配置文件。我不确定这是否是一个因素,但我不明白它是如何用于店内应用的。
我当然希望有人有一些想法,因为我离开他们!
使用PushMeBaby发送到制作APNs URL(gateway.push.apple。com)我被迫完全评论这条线。所以我更改了URL,取代了证书,并且注释掉了这一行。然后它为我工作。 – brentlightsey 2010-12-22 13:37:15
这里,30实际上是字符串“gateway.sandbox.push.apple.com”的长度。因此,当你将它改为“gateway.push.apple.com”时,你必须将该数字改为22.因此它将是:result = SSLSetPeerDomainName(context,“gateway.push.apple.com”,22); – 2011-03-30 11:12:42
非常感谢@ChintanPatel。为我们节省了很多时间:) – 2013-03-07 04:24:33