iOS通用链接中的路径排除不起作用

6

我实现了通用链接。apple-app-site-association结构如下:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "APPID.my.awesome.newspaper",
                "paths": [ "NOT /webapp/issue/*/ads/*", "/webapp/issue/*/*.html" ]
            }
        ]
    }
}

由于某种原因,第一个含有 NOT 的路径根本不被考虑。

例如:

以下这些 URL 被正确处理:

awesome-newspaper.my/webapp/issue/sz/2016-01-22/page_2.157908/article_1.2828646/article.html  
awesome-newspaper.my/webapp/issue/sz/2016-01-22/page_2.157908/page.html

该URL不应被视为通用链接,始终应在Safari中打开。

awesome-newspaper.my/webapp/issue/sz/2016-01-22/ads/ad_145/index.html  

但它总是在应用程序中打开。有人可以帮助我吗?

请查看此链接https://dev59.com/9VwY5IYBdhLWcg3wVGaB?rq=1。或许它能帮到你。 - Alexander Khitev
这个链接 'awesome-newspaper.my/webapp/issue/sz/2016-01-22/ads/ad_145/index.html' 是否可以访问HTTPS Web服务器? - Aruna Mudnoor
你找到解决方案了吗? - Tejas K
@TejasK 我们确实找到了一种方法使其工作,但不幸的是我几乎忘记了我们采取的步骤。我应该在我的问题后面发布解决方案,对此我很抱歉。然而,当我回想起来时,iOS 只会在某些情况下获取 apple-app-site-association,比如应用程序的全新安装。您是否已经尝试过在更改 apple-app-site-association 文件后进行干净的安装,以确保 iOS 具有最新的信息? - pstued
1个回答

0

我认为问题在于你的URL匹配了两种情况,这就使得结果变得不可预测。

尝试让路径互斥。如果不可能,你可能需要改变URL结构。

更新:

有可能是你的NOT字符串格式不正确,请将其更改为:"NOT /webapp/issue/*/ads/*/*.html"


1
根据苹果的文档,它在找到匹配项后停止检查路径。 通用链接:因为系统按照指定顺序评估路径数组中的每个路径,并在找到正面或负面匹配时停止评估,所以您应该在低优先级路径之前指定高优先级路径。请注意,仅使用URL的路径组件进行比较。其他组件,如查询字符串或片段标识符,将被忽略。 - pstued

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接