iPhone推送通知无法在Rails应用程序中运行 - apn_sender

时间:2011-06-08 16:26:46

标签: iphone ruby-on-rails-3 apple-push-notifications

我已经设置了我的rails应用程序,使用本教程作为我的指南,将推送通知发送到我的iphone应用程序:

http://blog.thefrontiergroup.com.au/2011/05/sending-apple-push-notifications-in-rails-with-redis-and-apn_sender/

一切似乎都运行正常 - 但是当我尝试在控制台中创建新通知时

APN.notify(my_token, :alert => "Test message", :badge => 4, :sound => true)

它返回的是一个空数组! # => []

当我检查反馈时

feedback = APN::Feedback.new

我收到消息:

APN::Feedback: Connection not currently established to feedback.sandbox.push.apple.com on 2196

我已连接到redis OK,它似乎记录了大量数据:

[13058] 08 Jun 16:42:03 - DB 0: 2 keys (0 volatile) in 4 slots HT.
[13058] 08 Jun 16:42:03 - 0 clients connected (0 slaves), 922944 bytes in use
[13058] 08 Jun 16:42:08 - DB 0: 2 keys (0 volatile) in 4 slots HT.

但是(据我所知)我没有连接苹果服务器。

这是在我的OSX 10.6开发环境中。 Ruby 1.9.2 Rails 3.1.0.rc1

有人可以帮我解决这个问题吗?

iPhone通知令牌应采用何种格式? Base64已解码?

2 个答案:

答案 0 :(得分:3)

管理来解决这个问题 - 问题似乎与我使用的令牌格式有关。

更改为此格式:

# (regexp)
/(\w{8}\s){7}(\w{8})/

# randomly generated example string
f4134ff5 ec6504c2 a803da24 fb79cbcd 5243b00d d7fa625f 54c6b4ea 05768cf4

答案 1 :(得分:0)

APN ::反馈:2196年目前尚未与feedback.sandbox.push.apple.com建立连接

您需要调用.data方法来启动连接。

feedback_data = APN::Feedback.new().data

无论何时使用无效的toke,APNS都会断开连接,这可能会导致问题,所以我猜这就是你的正则表达式有意义的原因。这是删除空格后检查的正则表达式。即使没有空格,代币仍然被接受。

[a-zA-Z0-9]{64}