我正在开发一个使用苹果推送通知服务的应用程序。我下载了一个 ssl 证书并将其与私钥(在钥匙串中)绑定,并将其转换为 .pem 格式的 php server 。但是,当我要通过 php 通过提供 .pem 证书和密码短语和设备令牌连接到 apns 时,它给了我一个错误无法连接。我尝试使用 PushMeBaby 应用程序发送推送通知,在这种情况下能够接收通知。但是为什么无法从php服务器连接..请帮我解决这个问题..
提前致谢。
您可以尝试以下几件事来调试连接失败。
确保当您从钥匙串导出证书时,您没有将私钥作为导出的一部分。仅导出证书。
您是否尝试连接到正确的服务器?如果是沙盒环境,使用生产环境时必须连接到 gateway.sandbox.push.apple.com(加上开发证书)并连接到 gateway.push.apple.com(加上生产证书)。
最后看一下 Apple 的 APNs 文档中的这一部分(二进制接口和通知格式)“如果您发送通知并且 APNs 发现通知格式错误或无法理解,它会在断开连接之前返回一个错误响应数据包。(如果有没有错误,APNs 不返回任何内容。)”这应该让您了解出了什么问题。