在通用链接iOS中排除网址

问题描述 投票:-1回答:2

我已经实现了通用链接并且工作正常但是现在我需要从打开应用程序中排除几个url类型,所以我尝试使用apple-app-site-association文件。

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "abc",
            "paths": ["NOT /test_url_1/", "NOT /test_url_2/"]
        }]
    }
}

"paths":["NOT /test_url_1/", "NOT /test_url_2/"] - 将忽略所有网址,不会重定向到移动应用程序

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "abc",
            "paths": ["NOT /test_url_1/", "/test_url_2/"]
        }]
    }
}

"paths":["NOT /test_url_1/", "/test_url_2/"] - 将忽略/ test_url_1 / url,allow / test_url_2 /并忽略其他网址

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "abc",
            "paths": ["NOT /test_url_1/", "NOT /test_url_2/", "*"]
        }]
    }
}

"paths":["NOT /test_url_1/", "NOT /test_url_2/", "*"] - 将在移动应用程序中打开所有网址

我只需要忽略test_url_1和test_url_2并打开其他网址的移动应用。反正有没有这样做?我在这里错过了什么吗?

ios ios-universal-links
2个回答
1
投票

你的第三个例子应该是正确的,并且符合我之前在工作实践中看到的规范和例子。我们可能需要查看非匿名数据和实际链接以进一步调试。

你也可以试试这个:

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "abc",
            "paths": ["NOT /test_url_1/*", "NOT /test_url_2/*", "*", "/"]
        }]
    }
}

1
投票

您必须通过将每个网址转换为字符串来检查它,并查找您不希望出现在新网址路径中的内容,如此

let url = URL(string: "/test_url_1/somepoints/")!
let urlString = url.absoluteString
var newURL:URL!

if !urlString.contains("test_url") {
   newURL = URL(string: urlString)
  // use the new url now
}

要获取大量网址,您必须在for循环中进行此测试并生成所需的网址

© www.soinside.com 2019 - 2024. All rights reserved.