一、准备好一个文件名字叫做:apple-app-site-association
不要加后缀名,里面放的是标准的json。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
},
{
"appID": "ABCD1234.com.apple.wwdc",
"paths": [ "*" ]
}
]
}
}
9JA89QQLNQ :这个玩意是teamID,可以在开发者中心的appid详情中看到
com.apple.wwdc:这个玩意是bundle id
paths:用来指定打开不同的APP或APP不同的页面。APP中能接收到这个参数,我们可以拿来判断要跳转到哪个页面
举例:
"域名/wwdc/news/", 这个链接就能吊起9JA89QQLNQ下边的‘com.apple.wwdc’ 这个bundleId对应的APP
如果直接点击"域名"这个链接,只能吊起ABCD1234下边的”com.apple.wwdc“这个APP。
但是一般我们自己的做法是,teamID是一样的,然后账号下不同的APP的bundle id是不同的,所以可以用path来配置打开我们不同的APP
二、找后端小伙把文件放入到一个域名下的根目录,必须支持HTTPS协议,让我们请求 "域名/apple-app-site-association"能请求到。因为没指定请求头的类型,所以请求下来的是个文件
三、需要使用UniversalLink的APPID需要打开通用链接功能
9041905-8617092a5934ba74.png四、工程中添加Associated Domains
格式是:
applinks:+域名,例如[applinks:www.jianshu.com]
注意,域名前不需要加https://,后边也不需要加/
9041905-189bd19cecf1572a.png五、代码修改
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
return WXApi.handleOpenUniversalLink(userActivity, delegate: self)
}
六、测试
一般只会在APP下载完后初次启动才会下载这个文件,所以如果修改了apple-app-site-association文件,请删除APP后重新下载。
在备忘录中,输入那个域名,拼上你设置的path,如果path是*,代表的域名本身链接即可吊起。如果点击连接能直接跳转到我们的APP,说明配置成功!
网友评论