使用PushMeBaby测试推送,log显示成功但设备没有收到信息的同学来看!
2013-08-10 15:03
543 查看
用PushMeBaby测试推送,机器老是接收不到推送的信息,也没有什么错误提示,开始以为是证书的问题,结果从新生成证书,最终还是不行;PushMeBaby返回的信息
PushMeBaby[3153:303] SSLHandshake(): 0
PushMeBaby[3153:303]SSLWrite(): 0 109
看代码发现是成功,说明网络上应该是没问题的,有开始怀疑机器的问题,换了好几个同事的机器,结果还是不行,求助网络,发现下面的帖子,根据描述一一排查,结果发现是 self.payload的字符串格式的问题,特转载此贴,引以为戒:
转帖地址:http://www.cocoachina.com/bbs/simple/?t116468.html
首先 你的console理打印出
2012-09-23 19:55:23.229 PushMeBaby[3153:303] MakeServerConnection(): 0
2012-09-23 19:55:23.230 PushMeBaby[3153:303] SSLNewContext(): 0
2012-09-23 19:55:23.230 PushMeBaby[3153:303] SSLSetIOFuncs(): 0
2012-09-23 19:55:23.231 PushMeBaby[3153:303] SSLSetConnection(): 0
2012-09-23 19:55:23.231 PushMeBaby[3153:303] SSLSetPeerDomainName(): 0
2012-09-23 19:55:23.231 PushMeBaby[3153:303] SecKeychainOpen(): 0
2012-09-23 19:55:23.329 PushMeBaby[3153:303] SecIdentityCreateWithCertificate(): 0
2012-09-23 19:55:23.330 PushMeBaby[3153:303] SSLSetCertificate(): 0
2012-09-23 19:55:29.575 PushMeBaby[3153:303] SSLHandshake(): 0
这表示服务端连接成功
然后点击push
打印出 2012-09-23 19:56:13.967 PushMeBaby[3153:303]SSLWrite(): 0 109
前边的0表明已经发送成功了 后边的数字表示你的payload的长度
如果这样没有收到推送消息的话 那就改下边两段代码
result = MakeServerConnection("gateway.sandbox.push.apple.com", 2195, &socket, &peer); 改为
result = MakeServerConnection("gateway.push.apple.com", 2195, &socket, &peer);
result = SSLSetPeerDomainName(context, "gateway.sandbox.push.apple.com", 30); 改为
result = SSLSetPeerDomainName(context, "gateway.push.apple.com", 22);//22表示gateway.push.apple.com地址的长度
改完之后再试 看看有没有收到消息 消息接收时间很短在几秒内就能收到推送消息
如果还没有收到的话 那就查看你的payload payload是JSON格式字符串 用于显示推送消息内容
我的payload是self.payload = @"{\"aps\":{\"sound\":\"default\",\"badge\":\"1\",\"alert\":\"Hello! this is a test!\"}}";
这里注意,我的badge:1,这里的1我也当成了一个字符串去处理,这样就能接收到消息了,为了这个地方改了一下午。。。
引以为戒
PushMeBaby[3153:303] SSLHandshake(): 0
PushMeBaby[3153:303]SSLWrite(): 0 109
看代码发现是成功,说明网络上应该是没问题的,有开始怀疑机器的问题,换了好几个同事的机器,结果还是不行,求助网络,发现下面的帖子,根据描述一一排查,结果发现是 self.payload的字符串格式的问题,特转载此贴,引以为戒:
转帖地址:http://www.cocoachina.com/bbs/simple/?t116468.html
首先 你的console理打印出
2012-09-23 19:55:23.229 PushMeBaby[3153:303] MakeServerConnection(): 0
2012-09-23 19:55:23.230 PushMeBaby[3153:303] SSLNewContext(): 0
2012-09-23 19:55:23.230 PushMeBaby[3153:303] SSLSetIOFuncs(): 0
2012-09-23 19:55:23.231 PushMeBaby[3153:303] SSLSetConnection(): 0
2012-09-23 19:55:23.231 PushMeBaby[3153:303] SSLSetPeerDomainName(): 0
2012-09-23 19:55:23.231 PushMeBaby[3153:303] SecKeychainOpen(): 0
2012-09-23 19:55:23.329 PushMeBaby[3153:303] SecIdentityCreateWithCertificate(): 0
2012-09-23 19:55:23.330 PushMeBaby[3153:303] SSLSetCertificate(): 0
2012-09-23 19:55:29.575 PushMeBaby[3153:303] SSLHandshake(): 0
这表示服务端连接成功
然后点击push
打印出 2012-09-23 19:56:13.967 PushMeBaby[3153:303]SSLWrite(): 0 109
前边的0表明已经发送成功了 后边的数字表示你的payload的长度
如果这样没有收到推送消息的话 那就改下边两段代码
result = MakeServerConnection("gateway.sandbox.push.apple.com", 2195, &socket, &peer); 改为
result = MakeServerConnection("gateway.push.apple.com", 2195, &socket, &peer);
result = SSLSetPeerDomainName(context, "gateway.sandbox.push.apple.com", 30); 改为
result = SSLSetPeerDomainName(context, "gateway.push.apple.com", 22);//22表示gateway.push.apple.com地址的长度
改完之后再试 看看有没有收到消息 消息接收时间很短在几秒内就能收到推送消息
如果还没有收到的话 那就查看你的payload payload是JSON格式字符串 用于显示推送消息内容
我的payload是self.payload = @"{\"aps\":{\"sound\":\"default\",\"badge\":\"1\",\"alert\":\"Hello! this is a test!\"}}";
这里注意,我的badge:1,这里的1我也当成了一个字符串去处理,这样就能接收到消息了,为了这个地方改了一下午。。。
引以为戒
相关文章推荐
- 使用PushMeBaby测试推送,log显示成功但设备没有收到信息的同学来看!
- 使用pushmebaby测试app的远程推送功能
- 使用pushmebaby测试app的远程推送功能
- 使用pushmebaby测试app的远程推送功能
- Windows客户端开发--使用控制台窗口显示调试信息(打log)
- Windows客户端开发--使用控制台窗口显示调试信息(打log)
- 如何使用树莓派CPU挖矿(没有测试成功)
- SVN使用:用TortoiseSVN查看Log 无法显示最新的版本和Log信息问题
- 在没有stonith设备下使用heartbeat实现高可用的原理和测试
- phonegap的调用地理位的gps接口,还有人成功调用过啊,为什么我在手机上测试没有任何返回信息呢,求大神
- CISCO设备Log&debug信息显示时间精度修改
- iOS极光推送,测试环境可以收到信息,而正式环境收不到的问题
- windows不能显示此连接属性。windows management instrumentation (WMI) 信息可能损坏 (转,经测试成功)
- iOS开发——小技巧:Mac开源小软件PushMeBaby,还要啥后端,测试APP推送只靠Xcode!
- 解决极光推送网页端显示推送成功,移动设备收不到推送消息的方法
- 在Linux系统中使用lsblk和blkid显示设备信息的方法
- IOS开发笔记——用PushMeBaby测试Push推送
- iOS 使用百度地图地图画成功了,但是没有图层显示问题解决。
- 设备不显示LOG信息
- Android studio 使用时辅助栏不能显示当前APP的Log信息