配置 Universal Link
- 創(chuàng)建一個(gè)json文件挨措,格式固定,無需更改崩溪。
{
"applinks": {
"apps": [],
"details": [{
"appID": "teamID.bundleID",
"paths": ["*"]
}
]
}
}
配置文件中的details數(shù)據(jù)浅役, 其中的appID對(duì)應(yīng)的value為teamID 和 bundleID。配置時(shí)用“.”拼接伶唯,如上述代碼teamID在前觉既,bundleID在后。上述兩個(gè)ID乳幸,可以在蘋果的開發(fā)者網(wǎng)站內(nèi)找到瞪讼,順便將Associated Domains選中。
- 編輯完成后粹断,導(dǎo)出文件符欠,并命名為 apple-app-site-association。若有擴(kuò)展名瓶埋,必需隱藏?cái)U(kuò)展名(官方文檔有規(guī)定)希柿。
- 生成此文件诊沪,將它放入App所用域名的根目錄下。
配置項(xiàng)目
- xcode打開工程狡汉,上面的操作我們已經(jīng)開啟了Associated Domains娄徊,這里直接配置就行了。
applinks:+ App的域名盾戴,例如:applinks:apple.com
- 在AppDelegate中,添加如下方法:
- swift
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
return WXApi.handleOpenUniversalLink(userActivity, delegate: self)
}
- oc
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
NSURL *webpageURL = userActivity.webpageURL;
NSString *host = webpageURL.host;
if ([host isEqualToString:@"apple..com"]) {
//進(jìn)行我們需要的處理
[WXApi handleOpenUniversalLink:userActivity delegate:self];
}
else {
[[UIApplication sharedApplication]openURL:webpageURL];
}
}
return YES;
}
另外兵多,微信的分享接口也已發(fā)生了細(xì)微變化尖啡,增加了分享完成的回調(diào)
[WXApi sendReq:req]; // 棄用
[WXApi sendReq:req completion:^(BOOL success) {
}]; // 帶回調(diào)的新接口
檢測是否配置成功
1. 將App刪除后,重新編譯剩膘,安裝到手機(jī)衅斩。
2. 打開Safari,輸入App所使用的域名怠褐,在網(wǎng)頁界面下拉一下
3. 如發(fā)現(xiàn)界面頂部有App的入口畏梆,點(diǎn)擊后,可跳轉(zhuǎn)到App奈懒,則表示配置成功奠涌。
配置微信開發(fā)平臺(tái)信息
需將App域名添加到微信開放平臺(tái)的信息中,如: https://apple.com/
注意:
此處域名必須支持https
首次發(fā)起分享時(shí)磷杏,會(huì)出現(xiàn)二次跳轉(zhuǎn)的行為溜畅,具體流程:App拉起微信 - 出現(xiàn)“正在連接”界面 - 返回App - 重新打開微信。這是新的驗(yàn)證流程极祸,每個(gè)用戶首次使用時(shí)都會(huì)出現(xiàn)上述跳轉(zhuǎn)慈格。(如同一用戶多次使用分享均出現(xiàn)跳轉(zhuǎn),請(qǐng)檢查Universal Links配置 )
使用pod集成weixinSDK遥金,如果無法獲取到1.8.6以上版本浴捆,請(qǐng)?jiān)诠倬W(wǎng)手動(dòng)下載,手動(dòng)替換工程pods中的weixinSDK靜態(tài)庫稿械,頭文件选泻,重新編譯。
配置完成溜哮,可以成功分享滔金,依然看到“未驗(yàn)證應(yīng)用”:未驗(yàn)證應(yīng)用名單非實(shí)時(shí)更新,前一天有接入新SDK(1.8.6版本以上)并且有正確調(diào)用記錄第二天才會(huì)移除出名單茂嗓。官方的問題排查文檔
特別強(qiáng)調(diào):第一餐茵,可以成功訪問到你放在公司域名下的apple-app-site-association文件;第二述吸,在工程里配置applink的環(huán)境變量時(shí)忿族,注意要把debug和release兩個(gè)版本都配置上锣笨。如果你是發(fā)的release版本而沒配置,就會(huì)提示未驗(yàn)證應(yīng)用道批,且可能無法從微信返回app错英;第三,檢查微信后臺(tái)有沒有寫對(duì)隆豹。