使用PushMeBaby测试推送,log显示成功但设备没有收到信息的同学来看!
来源:互联网 发布:淘宝开店信誉 编辑:程序博客网 时间:2024/05/01 04:29
用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测试推送,log显示成功但设备没有收到信息的同学来看!
- 使用PushMeBaby测试推送,log显示成功但设备没有收到信息的同学来看!
- 使用pushmebaby测试app的远程推送功能
- 使用pushMeBaby后台测试远程推送
- pushmebaby 开发证书和测试证书推送
- IOS推送通知测试工具PushMeBaby
- PushMeBaby测试发布版推送功能
- iOS极光推送,测试环境可以收到信息,而正式环境收不到的问题
- APP没有开的时候不能收到推送消息
- IOS开发笔记——用PushMeBaby测试Push推送
- eclipse4下面安装ADT成功后,但没有ADT的那个图标显示的解决方法
- 解决QQ分享没有收到【成功回调】的问题
- 解决Xcode7.1上传成功但developer账户一直没有显示的问题
- odi推送提示成功没有报错,但数据并没有推送到目标表
- PushMeBaby 使用
- PushMeBaby 使用
- mybatis显示修改数据库成功, 但没有修改数据库的原因 (mybatis可以查询但无法修改数据库)
- 友盟推送:测试模式推送完成,但却收不到推送信息
- htop的使用
- 阅《现代管理科学》想
- 如何使用List.toArray()转换为数组对象
- svn在linux下的使用(svn命令行)
- Nexus入门指南(图文)
- 使用PushMeBaby测试推送,log显示成功但设备没有收到信息的同学来看!
- String insert() 插入方法
- Servlet规范简介
- JSON与XML的比较
- C#学习(五)—数组与结构、枚举、集合的区别
- 【Android开发学习18】Android OpenGL ES 光照glDrawArrays
- Android双击退出(类似网易新闻)
- 2013年学习计划
- 标签