iOS 通用链接无法按预期工作 - 无论路径如何,都始终打开

Posted

技术标签:

【中文标题】iOS 通用链接无法按预期工作 - 无论路径如何,都始终打开【英文标题】:iOS Universal Links don't work as expected - always opens no matter the path 【发布时间】:2019-12-29 13:50:18 【问题描述】:

所以我偶然发现了一个使用 ios 通用链接的问题。

假设我的域是:example.com。

所以我将关联域设置为 applinks:example.com

然后,在 apple-app-site-association 文件中,我指定了以下内容:


  "applinks": 
    "apps": [],
    "details": [
      
        "appID": "XXXXXXX.com.example.bro",
        "paths": [
          "/ios/*"
        ]
      
    ]
  

我预计只有以 /ios 结尾的链接才能打开应用程序,而其他链接(例如 example.com、example.com/something)应该在 Safari 中打开。

但是,域 example.com 下的每个链接都会在应用中打开。

我尝试使用“NOT ”、“NOT /”、“NOT /”等,但没有成功。

我可能会错过什么?

非常感谢您的帮助,

谢谢!

【问题讨论】:

看起来您的 apple-app-site-association 文件是正确的。仅供参考:- 如果所有路径都在应用内打开。您可以在 AppDelegate 中验证路径并使用 UIApplication.shared.openURL() 在 safari 中打开不受支持的 URL。 【参考方案1】:

更新:

看来我有导致这些问题的冲突文件。 显然,我的队友在 ./well_known 下添加了一个类似的文件。这似乎优先于我添加的文件。 (./well_known 下的文件有一个星号 * - 允许所有链接)。

一旦我删除了 ./well_known 下的额外文件,问题就解决了。

【讨论】:

以上是关于iOS 通用链接无法按预期工作 - 无论路径如何,都始终打开的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI PageView iOS 13 - 导航链接未按预期工作

Vue、Vuex、JavaScript:includes() 无法按预期工作

分支测试/实时链接未按预期工作

Kubernetes入口中基于Traefik路径的路由无法按预期工作

在 QT 中,链接模型无法按预期工作

使用 undertow-handlers.conf 重写路径无法按预期工作