前言
最近更新了友盟share SDK后發(fā)現(xiàn)分享到微博、微信、QQ全部不能用了,通過各種查閱資料、查看SDK說明,最終一個個填坑了,在這里記錄一下填坑過程!
填坑
微博
之前分享到微博用的是UMShareWebpageObject這個類,但是升級到6.9.8之后,用這個就不起作用了,一直提示網(wǎng)絡(luò)連接失敗,百度半天也沒找到啥原因,最后通過觀察其他APP分享到微博,發(fā)現(xiàn)分享后下面都有一張圖片,于是就想到是不是分享的圖片,所以就把分享類改成了UMShareImageObject,真的成功了。但是分享出來后只有一個圖片,沒有文字,title和descr都沒有,后來又看到UMSocialMessageObject這個類中有個text屬性,說明是非純文本分享文本,把分享的文字和鏈接都設(shè)置到text里面,終于成功了,下面貼下代碼
// 判斷分享類型,如果是微博,單獨處理
if (platformType == UMSocialPlatformType_Sina) {
UMShareImageObject *shareObject = [UMShareImageObject shareObjectWithTitle:nil descr:nil thumImage:nil];
// 分享的圖片
shareObject.shareImage = thumbImage;
// 分享的文字和鏈接
messageObject.text = [NSString stringWithFormat:@"%@%@", data.share_title, data.web_url];
messageObject.shareObject = shareObject;
}
不知道是UMShareWebpageObject這個類不起作用了,還是我使用的姿勢不對,如果有人知道可以分享下。
微信
關(guān)于微信的更新友盟SDK上有說明
1、SSO白名單中額外增加了weixinULAPI

2、增加設(shè)置universalLink的API,需要在初始化SDK的時候設(shè)置,同時需要在微信開放平臺配置universalLink
//配置微信平臺的Universal Links
[UMSocialGlobal shareInstance].universalLinkDic = @{@(UMSocialPlatformType_WechatSession):
@"https://umplus-sdk-download.oss-cn-shanghai.aliyuncs.com/"};
設(shè)置之后試了一下,發(fā)現(xiàn)跳轉(zhuǎn)到微信后顯示正在連接中,之后又跳回APP就沒反應(yīng)了,后來通過查詢微信的SDK發(fā)現(xiàn)需要設(shè)置Universal Links系統(tǒng)回調(diào),后來看了看友盟的SDK,也提供了方法
3、設(shè)置Universal Links系統(tǒng)回調(diào)
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler
{
if (![[UMSocialManager defaultManager] handleUniversalLink:userActivity options:nil]) {
// 其他SDK的回調(diào)
}
return YES;
}
通過上面的三步,微信分享成功了,但是在首次分享的時候會出現(xiàn)“正在連接”的提示,并跳轉(zhuǎn)返回app后再打開微信出現(xiàn)聯(lián)系人列表,第二次分享就沒問題了,這應(yīng)該是微信升級Universal Links的一個坑吧。
更新友盟SDK6.9.8之后分享到QQ會提示一個錯誤,具體是什么忘記了,更新步驟跟微信差不多
1、需要額外增加SSO白名單mqqopensdklaunchminiapp和mqqopensdkminiapp
2、增加設(shè)置universalLink的API
3、設(shè)置Universal Links系統(tǒng)回調(diào)
第2步略有不同,具體是需要在QQ互聯(lián)的官網(wǎng),找到對應(yīng)的APP,設(shè)置universalLink,具體可查看填寫及校驗universallinks,然后更新apple-app-site-association文件

最后
通過上面的步驟,友盟分享6.9.8的坑最終都解決了,如果你有疑問或者建議,歡迎在下面留言,我們一起交流學(xué)習(xí)。