universalLink
universalLink是iOS9出现的东西,可以快速的通过打开一个Https链接来直接启动您的APP
配置
1.域名网站支持https
2.将此apple-app-site-association上传到网站根目录
开启Associated Domains
服务
在xcode工程的Capabilities -> Associated Domains
中添加跳转域名,域名的格式为:
applinks:www.example.com
服务器必须支持SSL
Domains可以添加多个
Domains必须以applinks:
开头
- 配置apple-app-site-association文件
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": ["iosapp/","iosapp/*","*"]
}
]
}
}
apps项必须对应一个空的数组
details项对应一个字典的数组
appID对应项由前缀和ID两部分组成,可以在developer中的Identifiers→AppIDs中点击对应的App ID查看
paths对应域名中的path,用于过滤可以跳转到App的链接,支持通配符*,?以及NOT进行匹配,匹配的优先级是从左至右依次降低
配置上path,同一公司可能多款app有次需求,不同的path有益于后期的扩展
把配置好的JSON文件上传到服务器中该域名的根目录下,也就是说,我们可以用GET请求可以获取到这个apple-app-association文件。(APP第一次安装,苹果会进服务器下载文件,调试的时候建议删除以后再安装)
Appdelegate增加如下代码
[WXApi registerApp:@"wx_example" universalLink:@"https://www.example.com"];
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}