You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS Universal Link路径匹配异常:非指定路径也唤起App

解决iOS Universal Link过度唤起问题

问题根源

你当前的apple-app-site-association配置里,"/": "/login"属于前缀匹配规则,会命中所有以/login开头的路径(包括/login/、/login/xxx这类);同时因为没有明确排除根路径相关的匹配规则,导致系统误判这些路径也符合唤起条件。

修正后的apple-app-site-association配置

把文件改成以下内容,用精确匹配锁定/login,同时明确排除其他不需要唤起App的路径:

{
  "applinks": {
    "details": [
      {
        "appIDs": [
          "ASDFASDF.com.demo.ios.app"
        ],
        "components": [
          // 精确匹配 /login 路径
          {
            "/": "/login",
            "exact": true,
            "comment": "精确匹配路径 /login,仅唤起App"
          },
          // 排除 /login/ 及所有子路径
          {
            "/": "/login/*",
            "exclude": true,
            "comment": "排除 /login/ 开头的所有路径,跳转Safari"
          },
          // 排除根路径(带斜杠)
          {
            "/": "/",
            "exclude": true,
            "comment": "排除根路径 /,跳转Safari"
          },
          // 排除空路径(不带斜杠的域名)
          {
            "/": "",
            "exclude": true,
            "comment": "排除空路径(直接访问域名),跳转Safari"
          }
        ]
      }
    ]
  }
}

关键配置说明

  • exact: true:强制精确匹配指定路径,只有完全等于/login的路径才会唤起App
  • exclude: true:标记该路径需要被排除,直接跳转Safari
  • 规则优先级:从上到下匹配,所以把精确匹配放在最前面,排除规则依次跟上

验证步骤

  1. 把修改后的apple-app-site-association文件部署到域名的.well-known目录或根目录(确保HTTPS可访问,无重定向)
  2. 卸载并重装App(清除iOS的Universal Link缓存)
  3. 分别测试四个链接,确认行为符合预期:
    • https://com.demo.ios.app/login → 唤起App
    • https://com.demo.ios.app/login/ → 打开Safari
    • https://com.demo.ios.app/ → 打开Safari
    • https://com.demo.ios.app → 打开Safari

内容的提问来源于stack exchange,提问作者Naresh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 04:22:33