исключить url в универсальных ссылках iOS

Я реализовал универсальные ссылки и работает нормально, но теперь мне нужно исключить несколько типов URL-адресов из открытия приложения, поэтому я попробовал следующие способы с файлом ассоциации яблочного приложения-сайта.

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

"paths":["NOT /test_url_1/", "NOT /test_url_2/"] - будут игнорировать ВСЕ URL-адреса, без перенаправления в мобильное приложение

{
    "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, разрешает / test_url_2 / и игнорирует другие URL

{
    "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 и открыть мобильное приложение для других URL-адресов. Есть какой-либо способ сделать это? я что-то упускаю?


person cham    schedule 07.04.2017    source источник
comment
почему это не голосование, действительно не могу понять причину   -  person cham    schedule 07.04.2017
comment
Некоторые граждане StackOverflow теряют форму из-за мелочей, особенно из-за новых пользователей. В этом случае я подозреваю, что это была комбинация темы вопроса (на которую довольно просто ответить через некоторое исследование Google) и того факта, что вы не форматировали контент, чтобы сделать его действительно читаемым (исправлено для вас ????) . Не беспокойтесь об этом слишком сильно, но примите к сведению кое-что, чтобы ответить на следующий вопрос!   -  person Alex Bauer    schedule 07.04.2017


Ответы (2)


Ваш третий пример должен быть правильным и соответствует как спецификациям, так и примерам, которые я видел ранее на практике. Вероятно, нам понадобятся неанонимные данные и фактические ссылки для дальнейшей отладки.

Вы также можете попробовать это:

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "abc",
            "paths": ["NOT /test_url_1/*", "NOT /test_url_2/*", "*", "/"]
        }]
    }
}
person Alex Bauer    schedule 07.04.2017

Вы должны проверить это, преобразовав каждый свой URL-адрес в строку и найти URL-адрес, который вы не хотите указывать в своем новом пути URL-адреса, например

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
}

для большого списка URL-адресов вы должны выполнить этот тест внутри цикла for и сгенерировать нужные вам URL-адреса.

person Khalid Afridi    schedule 07.04.2017
comment
ценю ваш быстрый ответ, но я имею в виду универсальные ссылки и ассоциацию «приложение-приложение-сайт-яблоко». Я не уверен, что мы можем это сделать, не так ли? - person cham; 07.04.2017
comment
На 100% уверен, что ты сможешь это сделать - person Khalid Afridi; 07.04.2017
comment
Кажется, мне чего-то не хватает, не могли бы вы объяснить мне, как универсальные ссылки могут быть связаны с некоторым кодом внутри нашего приложения, если да, то какой смысл в том, что у нас есть файл ассоциации яблочного приложения-сайта в нашем веб-корне, пожалуйста, помогите мне понять - person cham; 07.04.2017