1、配置apple-app-site-association文件(無后綴),格式如下
- apps:數(shù)組類型,必須是空數(shù)組
- details:數(shù)組類型,元素是字典。每個字典對應(yīng)一個app
- appID:teamID后綴+bundle ID
- paths:可訪問路徑,用*代表通用。?代表單一字符,如果指定某個地址不可跳轉(zhuǎn)則在字符串前面加“NOT ”(空格后加字符串)
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
},
{
"appID": "ABCD1234.com.apple.wwdc",
"paths": [ "*" ]
}
]
}
}
2、將1創(chuàng)建的文件上傳到服務(wù)器
- 將文件放在域名根目錄下,或者根目錄下創(chuàng)建.well-known文件夾,將文件放置在該文件夾下。格式如下:
https://<domain>/apple-app-site-association
or
https://<domain>/.well-known/apple-app-site-association
- 服務(wù)器地址必須是HTTPS鏈接。
3、App內(nèi)配置
-
app內(nèi)target-->signing&capabilities中添加Associate Domains
Domains的格式:applinks:+ 域名
項目目錄下會產(chǎn)生一個***.entitlements文件
4、在appdelegate中可以訪問到請求過來的鏈接,可進行操作
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
// NSUserActivityTypeBrowsingWeb 由Universal Links喚醒的APP
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]){
NSURL *webpageURL = userActivity.webpageURL;
NSString *host = webpageURL.host;
if ([host isEqualToString:@"api.r2games.com.cn"]){
//進行我們的處理
NSLog(@"TODO....");
}else{
NSLog(@"openurl");
[[UIApplication sharedApplication] openURL:webpageURL options:nil completionHandler:nil];
// [[UIApplication sharedApplication] openURL:webpageURL];
}
}
return YES;
}
- 可以使用NSUserActivity類,訪問到鏈接的相關(guān)屬性