场景和配置:
app:两个app分别AppA和AppB,
配置文件目录: https://dyhy-web.yndysc.com/.well-known/apple-app-site-association
objectivec
{
"applinks": {
"details": [
{
"appIDs": ["TeamID.BundleID.AppA"],//开发者账号中查看TeamID
"components": [
{ "/": "/app/shipper/*" } //AppA的匹配路径
]
},
{
"appIDs": ["TeamID.BundleID.AppB"],
"components": [
{ "/": "/app/carrier/*" } //AppB的匹配路径
]
}
]
}
}
该json文件命名为apple-app-site-association,放在域名跟路径的.well-known下面
xcode配置
Xcode 工程 → 选择 Target → Signing & Capabilities
点击 "+" → 添加 Associated Domains 能力
↓
在 Domains 中添加:applinks:dyhy-web.yndysc.com
这里要注意,两个app下的配置都是一样的applinks:dyhy-web.yndysc.com,
目的请看下面的解析流程
注意:
比如:
objectivec
[WXApi registerApp:@"wxb2ff695b7cbd647f" universalLink:@"https://dyhy-web.yndysc.com/app/shipper"];
解析流程:
1. 用户点击链接: https://dyhy-web.yndysc.com/app/shipper/123
2. iOS 提取域名: dyhy-web.yndysc.com
3. 查找安装了哪些 App 关联了这个域名
→ 发现 AppA 和 AppB 都关联了 dyhy-web.yndysc.com
4. 从 Apple CDN 获取 AAS 文件
5. 根据 AAS 文件中的路径规则决定:
- /app/shipper/* → 应该由 AppA 处理
- /app/carrier/* → 应该由 AppB 处理