我正在开发一个苹果推送通知服务正在使用的应用程序。我下载了一个ssl证书并将其与私钥(在钥匙串中)绑定,并将其转换为.pem格式的php服务器。但是当我通过提供.pem证书和密码和设备令牌通过php连接到apns时,它会给我一个错误连接失败。我尝试使用PushMeBaby应用程序发送推送通知,在这种情况下我能够收到通知。但为什么无法从php服务器连接....请帮我解决这个问题..
提前致谢。
答案 0 :(得分:1)
以下是您可以尝试调试连接失败的一些事项。
确保从钥匙串导出证书时,您不包括私钥作为导出的一部分。只出口证书。
您是否尝试连接到正确的服务器?在沙箱环境的情况下,您必须连接到gateway.sandbox.push.apple.com(与开发证书一起使用)并在使用生产环境时连接到gateway.push.apple.com(与生产证书相结合)。
最后从Apple的APNs文档(The Binary Interface and Notification Formats)中查看此部分“如果您发送通知并且APN发现通知格式错误或无法识别,则会在之前返回错误响应数据包断开连接。(如果没有错误,APN不返回任何内容。)“这应该让你知道出了什么问题。