2013-03-01 61 views
0

其次从书“的iOS 6的教程” http://www.raywenderlich.com/store/ios-6-by-tutorials存折通知失败

我能够通过电子邮件发送了一通,把它添加到传书,在我的应用程序更新它和它的中间存折教程当我打开存折时更新,但我没有收到任何通知。通知在设置中打开。

我的猜测是它可能是我的服务器的防火墙。我是嚎叫服务器设置的新手。我在godaddy vps(centos)上运行。 当我运行iptables的名单我得到以下几点:

的iptables -L -vn

enter image description here

这是否正确? 任何线索赞赏! 谢谢

回答

0

这不太可能是由于服务器端的防火墙问题 - 但可能是您的设备所连接的路由器的防火墙存在问题。 Apple向5223端口的设备发送推送通知,因此需要在本地路由器上打开(假设您通过WiFi连接)。如果您可以接收来自其他应用程序(WhatsApp,Facebook等)的推送通知,那么您可以排除防火墙问题。

您声明通行证确实得到更新 - 这意味着Apple正在收到推送,并正在触发设备从您的Web服务中检索新通行证,或者您正在使用replacePassWithPass更新通行证一个应用程序,这是按预期运作。

为了使通显示的通知消息:

  • 甲通数据字段必须已经改变(改变通类型,颜色,图像或标签值将不会触发通知),并
  • 本场必须有changeMessage按键(理想情况下,changeMessage包含%@这将是由新的字段值代替)

如果上述两个条件得到满足,你仍然不REC发出通知,然后尝试将设备挂接到Xcode并在更新通行证时观看控制台日志。

+0

我收到来自其他应用的通知,并再次检查存折的通知。奇怪的是,我真的只是错过了徽章,就好像我更新了通行证,并在打开存折之前等待了30分钟,存折的通行证会说“30分钟前更新”。我的控制台的输出与详细的行动采取在这里可用:https://dl.dropbox.com/u/12869820/console%20output.txt – Seb 2013-03-02 11:33:43

+0

您的控制台输出看起来像预期的 - 我怀疑这是'changeMes​​sage'在通行证。任何你可以发布.pkpass包之前和之后的机会?如果字段值正在改变并且设置了“changeMes​​sage”值,那么没有理由不通知它,您可能需要向Apple提交错误。在你的情况下,你的应用程序触发更新,这应该会触发Passbook显示通知 - 没有推送消息。 – PassKit 2013-03-03 06:18:02