**使用通用链接(Universal Link)必须要有域名,下的配置中将要用到**
## 第一步:开启Associated Domains服务
登录[苹果开发者网站](https://developer.apple.com/account/),在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID,确保开启Associated Domains服务
[![](https://img-cdn-tc.dcloud.net.cn/uploads/article/20190918/aa61368e308ae5e310b02978fd97c5e7.png)](https://img-cdn-tc.dcloud.net.cn/uploads/article/20190918/aa61368e308ae5e310b02978fd97c5e7.png)
**开启Associated Domains服务后需要重新生成profile文件,提交云端打包时使用**
## 第二步:配置Associated Domains(域名)
**使用HBuilderX云端打包时在manifest.json中配置域名**
在uni-app项目在"app-plus" -> "distribute" -> "ios" -> "capabilities" -> "entitlements"下添加"com.apple.developer.associated-domains"字段,字段值为字符串数组,每个字符串为要关联的域名
~~~
"capabilities": {
"entitlements": {
"com.apple.developer.associated-domains": [
"applinks:www.suxiangw.com"
]
}
}
~~~
**其中www.suxiangw.com是应用通用链接的域名(这里不要包含path),请修改为自己应用要使用的域名**
保存后提交云端打包生效。
## 第三步:服务器配置apple-app-site-association文件
需要在上面域名对应的服务器上放apple-app-site-association文件。
apple-app-site-association文件配置如下:
~~~
{
"applinks": {
"apps": [],
"details": [
{
"appID": "348T2QA349.com.xintoutiao.app",
"paths": [ "/suxiangw/*"]
}
]
}
}
~~~
* apps
必须对应一个空的数组
* appID
由前缀和ID两部分组成,可以登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID查看
* paths
对应域名中的path,用于过滤可以跳转到App的链接,支持通配符\*,?以及NOT进行匹配,匹配的优先级是从左至右依次降低
**注意:不要直接拷贝使用上面的示例,必须根据自己应用的配置修改**
把配置好的apple-app-site-association文件上传到你自己的根目录服务器,确保通过https://www.suxiangw.com/apple-app-site-association可访问。
**其中www.suxiangw.com为上面配置的域名**
应用安装后会通过访问上面的url向系统注册应用的通用链接。
### 注意事项
* apple-app-site-association文件不需要.json后缀
* 对apple-app-site-association文件的请求仅在App第一次启动时进行,如果此时网络连接出了问题apple会缓存请求,等有网的时候再去请求,如果没有请求此文件通用连接会失效
* iOS 9.2开始,在相同的domain内Universal Links不生效,必须要跨域才生效