友盟线上推送IOS10.3.3系统收不到消息的解决方案

今天花费了一天时间去解决iOS10.3.3系统收不到消息推送的问题,时间花的长,在找问题的同时,也学习到了一些知识,在此记录下来,有遇到相同问题的同仁,可以看看。

解决方案

我们可以看到友盟新的SDK里面增加了

  • (void)startWithAppkey:(NSString * __nonnull)appKey launchOptions:(NSDictionary * __nullable)launchOptions httpsEnable:(BOOL)value

这个方法,根据文档注释,httpsEnable是开启友盟内部协议使用https的开关,默认是关闭,因此要适配iOS10.3.3的时候,需要将它打开,配置友盟推送的时候,使用

//设置 AppKey 及 LaunchOptions
[UMessage startWithAppkey:UMENG_APPKEY launchOptions:launchOptions httpsEnable:YES];
就可以解决了

另外附上友盟线上测试推送方案

友盟线上测试推送方案
一:一个是友盟官方推荐的方法,以Ad Hoc方式打包应用,使用Xcode将应用程序以Ad Hoc方式打包,导出ipa文件,然后用iTunes工具将应用程序安装到设备上,(windows电脑上可以使用爱思助手安装),注意:这种方式的Profile文件主要是Ad Hoc类型,并且包含制定的设备信息。导出的ipa也只能安装到制定的设备中。具体操作还是参考友盟官方文档
二:在这里我是想介绍另一种方法,这个方案也是我在跟友盟技术人员沟通的时候,他们告诉我的,我在此分享出来。这个是通过Charles抓包得到deviceToken数据,然后在友盟后台进行单播推送测试的,由于我的项目中使用了https,所以抓包得安装相应的证书才能抓到数据,附上https抓包的详细步骤http://www.jianshu.com/p/a9ad840e8f9a,附上我抓包得到的图片数据:

友盟线上推送IOS10.3.3系统收不到消息的解决方案
,在这里注意下,这个数据得是首次安装App,弹出允许推送弹框的时候才显示的数据,因此大家做测试的时候,得重新安装App弹出允许消息推送弹框才可以抓到哦,我们拿到token值就可以在友盟后台进行单播测试了,就可以知道线上的测试是否成功了,有问题请留言哦~