ios – Ruby apns gem返回nil

我正在尝试让APNS gem与我的Rails应用程序一起使用.几个月前我最初设置了这个,并向iOS设备推送通知工作.现在,我的应用程序正在运行,我发现通知不会再出现了. APNS gem还没有在一段时间内更新,所以我尝试了各种后期的分叉,都达到了同样的效果.

这就是我正在做的事情:

APNS.host = 'gateway.push.apple.com' 
APNS.pem  = Rails.root + "lib/push_production.pem"
APNS.port = 2195 
APNS.send_notification(device_token,"Test send" )

结果呢?

=> nil

没有任何方法的反馈,没有我可以检查的日志文件.我已经尝试过生成重新生成我的证书;一切似乎都没问题.我尝试用各种方式表达我的设备令牌,没有尖括号,字符组之间没有空格…… APNS不关心.

考虑到涉及的活动部件的数量,我知道这是一个棘手的问题.但有人可以建议去哪里看看吗?

解决方法

official documentation说:

If you send a notification and APNs finds the notification malformed
or otherwise unintelligible,it returns an error-response packet prior
to disconnecting. (If there is no error,APNs doesn’t return
anything.)
figure 5-3 depicts the format of the error-response packet.

因此,只有宝石不会返回任何内容才有意义,因为Apple的服务器不会让它知道它在做什么.另外,如果你看一下gem的github页面,给定的例子不会处理APNS.send_notification的返回值.

上次我使用Apple推送通知时,它几乎就像一个黑盒子,大部分时间都没有返回任何东西.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...