Universal Links方式:私有化部署服务器来托管apple-app-site-association
- 第一步:开启Associated Domains服务
- 第二步:配置Associated Domains(域名)
- 第三步:服务器配置apple-app-site-association文件
- 第四步:在微信开放平台配置通用链接
- 第五步:在HBuilderX中配置通用链接提交云端打包
第一步:开启Associated Domains服务
登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID,确保开启Associated Domains服务
开启Associated Domains服务后需要重新生成profile文件,提交云端打包时使用
第二步:配置Associated Domains(域名)
使用HBuilderX云端打包时在manifest.json中配置域名
在"plus" -> “distribute” -> “apple” -> “capabilities” -> “entitlements"节点(uni-app项目在"app-plus” -> “distribute” -> “ios” -> “capabilities” -> “entitlements”)下添加"com.apple.developer.associated-domains"字段,字段值为字符串数组,每个字符串为要关联的域名
"capabilities": {
"entitlements": {
"com.apple.developer.associated-domains": [
"applinks:domain.com"
]
}
}
其中domain.com是应用通用链接的域名(这里不要包含path),请修改为自己应用要使用的域名
保存后提交云端打包生效。
第三步:服务器配置apple-app-site-association文件
需要在上面域名对应的服务器上放apple-app-site-association文件。
apple-app-site-association文件配置如下:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "*App ID Prefix*.*Bundle ID*",
"paths": [ "/app/*"]
}
]
}
}
apps: 必须对应一个空的数组
appID:由App ID Prefix和Bundle ID两部分组成,中间用"."连接,可以登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID查看
paths:对应域名中的path,用于过滤可以跳转到App的链接,支持通配符*,?以及NOT进行匹配,匹配的优先级是从左至右依次降低
注意:不要直接拷贝使用上面的示例,必须根据自己的App ID Prefix和Bundle ID修改
把配置好的apple-app-site-association文件上传到你自己的服务器,确保通过https://domain.com/.well-known/apple-app-site-association可访问。
其中domain.com为第二步配置的域名
应用安装后会通过访问上面的url向系统注册应用的通用链接。
第四步:在微信开放平台配置通用链接
打开微信开发平台,在“管理中心”页面的“移动应用”下找到已经申请的应用(没有申请应用请点击“创建移动应用”新建应用),点击“查看”打开应用详情页面。
在“开发信息”栏后点击修改,在“iOS应用”下的“Universal Links”项中配置应用的通用链接
Universal Links通用链接:https://domain.com/app/
其中domain.com为第二步配置的域名
第五步:在HBuilderX中配置通用链接提交云端打包
将上一步在微信开放平台配置的通用链接地址配置到应用manifest.json中,注意通用链接地址必须完全一致(本地离线打包忽略此操作)
打开项目的manifest.json文件,在“(App) SDK配置”项中的微信登录(微信分享、微信支付)下的“iOS平台通用链接(Universal Links)”中配置:
如果使用了微信分享和微信支付,也需要分别配置微信分享和微信支付下的“iOS平台通用链接(Universal Links)”,并且配置的值必须相同
Universal Links通用链接:https://domain.com/ulink/
其中domain.com为第二步配置的域名
保存后需提交云端打包生效。
至此,打包好的ipa安装包可以正常分享