iOS Universal Links配置

场景和配置:

app:两个app分别AppA和AppB,

域名dyhy-web.yndysc.com

配置文件目录: 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,

目的请看下面的解析流程

注意:

上面说的是用户手动点击链接比如https://dyhy-web.yndysc.com/app/shipper/123,当配置微信支付等其他流程的话需要在配置的时候把https://dyhy-web.yndysc.com/app/shipper/123传递给微信,然后微信支付完成后可以通过这个链接返回到app

比如:

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 处理

6. 打开相应的 App(AppA)

相关推荐
忆江南5 小时前
iOS 深度解析
flutter·ios
没有故事的Zhang同学5 小时前
05-主题|事件响应者链@iOS-应用场景与进阶实践
ios
FeliksLv13 小时前
尝试给Lookin 支持 MCP
ios
没有故事的Zhang同学13 小时前
01-研究系统框架@Web@iOS | JavaScriptCore 框架:从使用到原理解析
ios
CocoaKier2 天前
苹果谷歌商店:如何监控并维护用户评分评论
ios·google·apple
iOS日常2 天前
iOS设备崩溃日志获取与查看
ios·xcode
wangruofeng2 天前
AI 助力 Flutter 3.27 升级到 3.38 完整指南:两周踩坑与实战复盘
flutter·ios·ai编程
iOS日常3 天前
Xcode 垃圾清理
ios·xcode
开心就好20253 天前
不越狱能抓到 HTTPS 吗?在未越狱 iPhone 上抓取 HTTPS
后端·ios
傅里叶3 天前
iOS相机权限获取
flutter·ios