如果消息经过Apple推送通知服务,如何debugging?

我正在尝试将Apple推送通知服务与node.js作为服务器。 到目前为止,我已经得到它的工作,当它的工作,它按预期工作。

但是,有时候这个消息并没有到达。 我不确定这是否是自然的(也许我有不好的联系,并且由于那个消息不通过),或者如果它是我的代码中的错误。 情况真的是随机的。 有时会出现,有时甚至没有,即使我没有更改代码或任何东西。

我正在使用node-apn(https://github.com/argon/node-apn),根据debugging控制台,它正在被注册成功 – 至less从服务器端。 这是debugging信息:

apn Initialising connection +19s apn Initialising module +1ms apn Connection established +383ms apn Sending notification +0ms apn Socket drained +1ms apn Socket writeable +0ms 

这条消息在消息传递和消息传递时都会出现。 所以我猜node-apn本身就是在做它的工作。 这意味着它是:

  1. 我的服务器和苹果推送服务器之间发生了一些事情
  2. 苹果推送服务器和我的iOS设备之间发生了一些事情

但我不知道如何找出发生的事情。 所以我想find的解决scheme是:

  1. 了解我的推送通知是否由APNS注册
  2. 了解APNS是否将所有通知发送到我的iDevice

有人知道怎么做吗? 非常感谢!

有一篇关于推送通知服务的问题的不同来源的苹果的技术说明: http : //developer.apple.com/library/ios/#technotes/tn2265/_index.html

在端口2195,2196和5223上使用tcpdump,并将数据传递给它们: http : //support.apple.com/zh-cn/HT202944

使用Wireshark读取转储文件: http : //redmine.streamco.org/projects/smartswitch-public/wiki/Debug_VoIP_call_with_Wireshark