4

给定:

  • 工作 iPod 应用程序
  • php中的服务器端(修改过的easyapns)。

我正在沙箱中发送请求 ssl://gateway.sandbox.push.apple.com:2195 如果我正在向 ssl://gateway.push.apple.com:2195 发送请求,则没有返回错误,但是通知没有到达。在这种情况下,如果我发送完全错误的设备令牌(例如 12345),APN 仍然没有返回错误。

问题:APN 向查询增强通知格式返回 status_code => 8(用于说明码头:无效令牌),并为 5 个设备的 5 个令牌中的 4 个返回错误代码。

我有正确的 dev crtificate,至少 iPod 的应用程序开发人员是这样说的,该开发人员将该证书发送给我。并且 iPod 的应用程序开发人员认为应用程序每次都发送正确的开发令牌(我不知道如何在没有 mac 和开发人员工具的情况下检查设备令牌)。

检查:

  • 服务器端口 2195,2196 已打开
  • 我的 iPod 连接到网络的路由器设置正确(并且用于接收的端口 5223 已打开) - 我在“iPusher”和“iPush 测试”应用程序上进行了测试
  • 连接APN成功
  • 尝试从本地机器发送
  • 尝试从 VPS 发送
  • 已选中
4

2 回答 2

3

当我遇到这个问题时,原来是因为密钥和证书不匹配。尝试使用 openssl 连接:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert cert.pem -key key.pem

直到喷出一堆以“已连接”开头的东西,你才没有正确连接。

于 2012-05-07T06:21:05.373 回答
0

我们面临着同样的问题。问题出在配置文件中:它是生产环境,但对于沙盒来说,它必须是开发环境。我们在此评论中找到了更多描述

于 2014-02-13T09:16:10.783 回答