个推推送iOS版 常见问题详解
提交后10分钟左右才可以测试,并不是立即生效的。
4. 服务端推送的,请检查离线时间是否设置。
原因如下:换证书环境后,devicetoken是变掉了,但是CID没变导致不会立即重新绑定devicetoken(一般是24小时后会重新绑定),服务端记录的还是原来的devicetoken。解决办法如下:需要一个gxsdkconfig.plist文件重新放在工程中,打包,卸载原来的应用并重新安装。CID变化了会重新绑定devicetoken,这样绑定就不会有问题了。
3. 如果CID与deviceToken绑定错误,需要重新生成一个CID来方便测试的操作方法:需要gxsdkconfig.plist文件,重新打包,把原来应用卸载重新安装新打包的这个。
1. 证书更换后, 过24小时才会重新绑定一次,这时devicetoken会变掉。24小时内做测试的话,会因Clientid和devicetoken绑定问题导致消息接收不到,因为证书更换后的devicetoken变掉了但没有更新到服务器,导致服务端查询到的devicetoken是错误的。
4. 查看证书是否有过期。
2. 因证书环境变更,导致Clientid与devicetoken绑定变化,但服务端的数据没有更新,还是与旧的devicetoken绑定的。当用plist文件获取到新的clientid后,会重新绑定一下,这时新旧两个clientid都会绑定到同一个devicetoken上。当群推消息时,会根据clientid找到devicetoken进行APNS发送,这时新旧两个clientid都会发送一条数据,导致客户端会接收到两条数据。
群推toApp用http方式的,因为只有一个请求
查看代码里的phoneTypeList中添加的是否为IOS。要修改为add(“IOS”)
解决办法:把BundleIdentifier 改成你自己的id,也就是说这里应该填你们证书里面已经申请的那个应用id。
生产证书不能在Xcode里进行联机debug,要先把应用包打出来,安装在手机上,然后在Xcode的origanizer->device选择你的设置,然后在consloe里查看日志,devicetoken和clientid都会打印出来的。
2、开发环境证书:http://wenku.baidu.com/view/6dddcd27192e45361166f505.html
2.如果使用ios8以前的sdk编译,接口无需变动,直接使用老版本的registerForRemoteNotifications接口即可
ios9有这个bug,是系统本身bug,尝试重启试试