2011-06-08 134 views
3

我建立了我的Rails应用程序中使用本教程为我的指导,发送推送通知到我的iPhone应用程序:iPhone推送通知不Rails应用程序的工作 - apn_sender

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开发环境中。 红宝石1.9.2 Rails 3.1.0.rc1

任何人都可以帮我解决这个问题吗?

iPhone通知令牌应该采用什么格式? Base64解码?

回答

3

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

更改为此格式:

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

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

它应该在哪里更改? – Prem 2013-01-09 09:44:26

0

APN ::反馈:连接目前还没有建立feedback.sandbox.push.apple.com在2196

你需要调用。数据方法开始连接。

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

,每当你使用一个无效的土气,APNS断开你,所以我想这就是为什么你的正则表达式是有道理这可能会导致问题。这是我的正则表达式去除空格后进行检查。即使没有空间,令牌仍然被接受。

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