一直覺(jué)得自己寫(xiě)的不是技術(shù),而是情懷朗伶,一個(gè)個(gè)的教程是自己這一路走來(lái)的痕跡峰锁。靠專業(yè)技能的成功是最具可復(fù)制性的拼窥,希望我的這條路能讓你們少走彎路,希望我能幫你們抹去知識(shí)的蒙塵蹋凝,希望我能幫你們理清知識(shí)的脈絡(luò)鲁纠,希望未來(lái)技術(shù)之巔上有你們也有我。
首先在這個(gè)配置過(guò)程中參考了三篇文章鳍寂。
文章1
文章2
文章2
配置通用鏈接主要的文檔:(蘋果官方文檔)https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html
1.創(chuàng)建一個(gè)apple-app-site-association包含有關(guān)您的應(yīng)用程序可以處理的URL的JSON數(shù)據(jù)的文件改含。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "8R2UASF858.com.nhm.nahuomalles",
"paths": ["*", "/qq_conn/101912345/*"]
}
]
}
}
注意AppID信息的來(lái)源開(kāi)發(fā)者網(wǎng)站上面的IDS文件
然后保存文件。創(chuàng)建json格式的一個(gè)空文件(取名必須為apple-app-site-association迄汛,并且沒(méi)有后綴候味,隱藏后綴)
2.將apple-app-site-association文件上傳到您的HTTPS Web服務(wù)器。您可以將文件放置在服務(wù)器的根目錄或.well-known子目錄中隔心。(給后臺(tái)上存白群,文件它會(huì)給我面一個(gè)鏈接,這個(gè)鏈接放在網(wǎng)頁(yè)上面可以下載剛剛給它的文件的)
鏈接要求:
1.必須以https開(kāi)頭
2.get請(qǐng)求
3.能下載剛剛的文件
4.你的服務(wù)器必須得支持SSL
蘋果為了方便開(kāi)發(fā)者硬霍,提供了一個(gè)網(wǎng)頁(yè)來(lái)驗(yàn)證我們編寫(xiě)的這個(gè)apple-app-site-association是否合法有效帜慢,進(jìn)入驗(yàn)證網(wǎng)址進(jìn)行驗(yàn)證:
3.到開(kāi)發(fā)者網(wǎng)站上面的IDS文件,讓它能支持Associated Domains,編輯完成之后粱玲,保存
注:這里可能會(huì)遇到一個(gè)錯(cuò)誤就是你的App ID中并沒(méi)有允許使用Associated Domains躬柬,所以需要進(jìn)入開(kāi)發(fā)者中心,編輯App ID允許Associated Domains抽减,并且重新生成對(duì)應(yīng)的簽證文件并下載安裝允青。在最新xcode11,添加了該項(xiàng)卵沉,開(kāi)發(fā)者賬號(hào)該appId下自動(dòng)打開(kāi)(如果打開(kāi)后颠锉,保存信息,記得重新下載安裝)
4.在app中處理通用鏈接
1)添加對(duì)應(yīng)的域名(上面知道的域名)到Capabilities
在項(xiàng)目里面定位到Capabilities史汗,找到Associated Domains琼掠,點(diǎn)擊允許按鈕,在Domains中添加對(duì)應(yīng)的域名停撞。(Domains中的域名必須是使用applinks開(kāi)頭瓷蛙,然后輸入自己的域名即可。注意:當(dāng)app第一次啟動(dòng)之后戈毒,會(huì)自動(dòng)從你自己的域名目錄下下載這個(gè)apple-app-site-association文件艰猬。)
5.實(shí)現(xiàn)AppDelegate里支持通用鏈接的實(shí)現(xiàn)方法
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler NS_AVAILABLE_IOS(8_0); {
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
NSURL *url = userActivity.webpageURL;
//微信登錄
if([[NSString stringWithFormat:@"%@",url] rangeOfString:@"oauth"].location !=NSNotFound){
return [WXApi handleOpenURL:url delegate:self];
}
}
return YES;
}
6.info.plist配置信息添加多一項(xiàng)