今天花費了一天時間去解決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.lxweimin.com/p/a9ad840e8f9a,附上我抓包得到的圖片數據:
BC68CF00-23A3-42CB-93EC-B7F6DE899EA7.png
,在這里注意下,這個數據得是首次安裝App,彈出允許推送彈框的時候才顯示的數據,因此大家做測試的時候,得重新安裝App彈出允許消息推送彈框才可以抓到哦,我們拿到token值就可以在友盟后臺進行單播測試了,就可以知道線上的測試是否成功了,有問題請留言哦~