代码之家  ›  专栏  ›  技术社区  ›  Andrew

无法连接到生产Apple推送通知服务器

  •  4
  • Andrew  · 技术社区  · 16 年前

    我对ssl和加密非常了解,我知道我什么都不知道,但我很确定问题是(或从)我们的生产ssl证书开始的。在iPhone门户中为生产启用了推送通知(我们有绿灯)。证书已经安装在运行PushMeBaby的机器上,我在密钥链中看到了证书和签名密钥。当我导出开发推送证书并在PushMeBaby中使用它时,我能够毫无问题地连接(并发送推送)。但有了生产证书,我们就一无所获了。我们已经在两台不同的计算机上反复撤销和重新创建了dev cert和prod cert,所以如果这是人为错误,我们会反复执行。

    其中一个可能的因素是我的钥匙链上有“团队代理”的钥匙,但我不是她。我可以并且已经将二进制文件提交到应用商店而没有任何问题。

    我当然希望有人有一些想法,因为我已经没有了!

    3 回复  |  直到 16 年前
        1
  •  4
  •   Cody Gray Felix    13 年前

    我花了几天时间才找到解决办法。

    问题在于:

    result = SSLSetPeerDomainName(context, "gateway.sandbox.push.apple.com", 30); 
    
    NSLog(@"SSLSetPeerDomainName(): %d", result);
    

    你必须把端口号改为30。这样就解决了问题。

        2
  •  15
  •   Yannick Loriot    16 年前

    • 沙盒:gateway.Sandbox.push.apple.com,端口2195。(用于开发)

    您总是使用网关进行开发。尝试使用另一个网关(用于生产)。

    更多信息请参见: Provisioning and Development

        3
  •  1
  •   dmitri    15 年前

    类似的问题也发生在我们的测试中,因为我们试图使用开发人员设备令牌而不是生产令牌。