因?yàn)槲⑿胖蟛辉僦С?.8.6以下的分享净神,所以今天對(duì)友盟分享進(jìn)行了升級(jí)何吝,踩了一點(diǎn)坑溉委,這里記錄一下,希望能對(duì)大家有幫助爱榕。
最新微信sdk使用通用鏈接(Universal Link)進(jìn)行跳轉(zhuǎn)瓣喊,注冊(cè)等操作這里就不再贅述了,下面記錄一下再xcode里面的集成黔酥。
1: 假設(shè)現(xiàn)已拿到微信Universal Links為https://xxx.xxx.cn/yyy/藻三。
在Xcode中添加Associated Domains,新增 applinks: + 域名,其中applinks:為固定字符跪者,已上述地址為例棵帽,域名為https://xxx.xxx.cn,則新增domians為 ->?applinks:https://xxx.xxx.cn
2: 創(chuàng)建apple-app-site-association文件
在電腦文件夾中創(chuàng)建一個(gè)空白文件(注意不是xcode中創(chuàng)建)渣玲,命名為apple-app-site-association逗概,不加后綴
在文件中寫入
{
? ? "applinks": {
? ? ? ? "apps": [],
? ? ? ? "details": [
? ? ? ? ? ? {
? ? ? ? ? ? ? ? "appID": "teamID.BundleIdentifier",
? ? ? ? ? ? ? ? "paths": [ "*"]
? ? ? ? ? ? },
? ? ? ? ? ? {
? ? ? ? ? ? ? ? "appID": "teamID.BundleIdentifier",
? ? ? ? ? ? ? ? "paths": ["*"]
? ? ? ? ? ? }
? ? ? ? ]
? ? }
}
其中appID由兩部分組成 teamID可在蘋果開發(fā)者中心查詢,BundleIdentifier就是app的?Bundle Identifier忘衍。paths以1中鏈接為例則填/yyy/逾苫,即?"paths": [ "/yyy/*"](注意后面的*不能刪掉)
details中為各類app的集合。
3: 上傳apple-app-site-association文件
把2中創(chuàng)建的名為apple-app-site-association的文件(不帶后綴名)發(fā)給后臺(tái)的哥們枚钓,讓他們上傳到https服務(wù)器的根目錄下(一級(jí)目錄)铅搓。
4:初始化
由于sdk的升級(jí),友盟的初始化方法發(fā)生了改變搀捷。下面是xcode代碼中的集成(重點(diǎn))
4.1: swift在橋接文件中引入WXAPI星掰,即?#import "WXAPI.h"
4.2:在Appdelegate文件中進(jìn)行初始化:
WXApi.registerApp("app在微信中注冊(cè)的appkey", universalLink: "https://xxx.xxx.cn/yyy/")
UMSocialGlobal.shareInstance()?.universalLinkDic = [UMSocialPlatformType.wechatSession: "https://xxx.xxx.cn/yyy/"]
此時(shí)再調(diào)用微信分享已經(jīng)可以跳轉(zhuǎn)微信了,但是注意此時(shí)回調(diào)已經(jīng)發(fā)生改變嫩舟,需要在Appdelegate中實(shí)現(xiàn)以下方法則可正常跳轉(zhuǎn)氢烘。而使用友盟微信登錄則使用UMSocialManager,注釋W(xué)XApi至壤。
funcapplication(_application:UIApplication, continue userActivity:NSUserActivity, restorationHandler:@escaping([Any]?) ->Void) ->Bool
? ? {
//? ? ? ? let result = UMSocialManager.default()?.handleUniversalLink(userActivity, options: nil)
//? ? ? ? return result ?? false
? ? ? ? letresult =WXApi.handleOpenUniversalLink(userActivity, delegate:self)
? ? ? ? returnresult
? ? }