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

iOS 15不遵守apple-app-site-association配置的应用匹配顺序问题

问题原因

iOS 15对Universal Link的匹配逻辑做了不兼容调整:

  • iOS 14及更早版本:默认按照apple-app-site-association文件中details数组的排列顺序匹配,第一个命中路径规则的应用获得链接处理权
  • iOS 15及以上版本:默认按路径覆盖范围排序,通配符覆盖范围越大的规则优先级越高,原有的数组排列顺序不再作为默认判断依据。你当前配置中OrderAnythingApp的/*是覆盖范围最宽的规则,因此会优先拿到burrito类链接的处理权;移除该应用配置后,覆盖范围次大的FoodApp就会成为优先匹配项。
解决方法

你可以任选以下两种方案修复该问题:

方案1:沿用旧版本的数组顺序匹配逻辑

直接在AASA文件的applinks节点下添加匹配规则配置,指定按文件排列顺序优先匹配即可。该配置对iOS 14及更早版本无影响,旧系统会自动忽略不识别的字段,不会干扰原有逻辑。
修改后的完整AASA文件内容如下:

{
    "applinks": {
        "apps": [],
        "matching": {
            "order": "file"
        },
        "details": [
            {
                "appID": "AAAAA.com.mydomain.BurritoApp",
                "paths": [ "/burritos/*" ]
            },
            {
                "appID": "AAAAA.com.mydomain.FoodApp",
                "paths": [ "/burritos/*", "/tacos/*", "/deli/*" ]
            },
            {
                "appID": "AAAAA.com.mydomain.OrderAnythingApp",
                "paths": [ "/*" ]
            }
        ]
    }
}

方案2:给宽泛路径的应用添加排除规则

如果你不想调整全局匹配规则,也可以通过NOT指令给路径覆盖范围大的应用配置排除项,避免它们抢特定路径的处理权:

  1. 给FoodApp的路径规则添加burrito路径排除,修改为:
    "paths": [ "NOT /burritos/*", "/tacos/*", "/deli/*" ]
  2. 给OrderAnythingApp的路径规则添加burrito、taco、deli路径排除,修改为:
    "paths": [ "NOT /burritos/*", "NOT /tacos/*", "NOT /deli/*", "/*" ]

修改完成后更新服务器上的AASA文件,触发设备重新拉取配置即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:36:03