Универсальные ссылки не работают в iOS 10.2

В моем корне HTTPS (kumpul.co.id/apple-app-site-association) используется ассоциация "яблоко-приложение-сайт", и результат передается из https://branch.io/resources/aasa-validator/#resultsbox

Я настроил его в своих правах: applinks: kumpul.co.id

и я поместил эту функцию в свой Appdelegate.swift:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
    NSLog("Check Universal Link")
    // 1
    guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
        let url = userActivity.webpageURL,
        let components = URLComponents(url: url, resolvingAgainstBaseURL: true) else {
            return false
    }
        print("url: \(url)")
    print("component: \(components)")

    // 2
    if let match = MatchHandler.sharedInstance.items.filter({ $0.path == components.path}).first {
        self.presentMatch(match)
        return true
    }
    //3
    let webpageUrl = URL(string: "http://www.kumpul.co.id")!
    application.openURL(webpageUrl)

    return false
}

Для путей я установил "paths": ["/ match / *"], потому что ссылки будут, например, kumpul.co.id/match/play_2.html

но когда я нажимаю ссылку в сообщении WhatsApp или Line, эта функция вообще не вызывается, я не вижу журналы, когда нажимаю ссылку. Что я здесь делаю не так?


person calvin sugianto    schedule 09.03.2017    source источник


Ответы (1)


Линия несовместима с универсальными ссылками, поэтому этот тестовый пример недействителен. Ваше приложение не открывается при нажатии универсальной ссылки в строке, даже если все настроено идеально (вам нужно предложить предварительный просмотр содержимого в Интернете с помощью кнопки с призывом к действию, например this - такая же проблема существует на Facebook, кстати).

WhatsApp должен работать. Если ваше приложение даже не запускается при нажатии на ссылку, у вас проблема с конфигурацией. Вы можете попробовать выполнить некоторые действия по устранению неполадок на странице эту страницу. Если ваше приложение запускается, значит, ваша конфигурация верна, и вам следует проверить логику внутри continue userActivity

person Alex Bauer    schedule 09.03.2017
comment
когда я проверяю свою ссылку (kumpul.co.id.match / play_70.html) в search.developer.apple.com/appsearch-validation-tool, в нем говорилось: Ошибка: нет приложений с правами домена. Данные о правах, используемые для проверки двойной аутентификации по глубоким ссылкам, взяты из текущей выпущенной версии вашего приложения. Обновление этих данных может занять 48 часов. но из branch.io/resources/aasa-validator/#resultsbox он прошел все проверки, как это могло случиться? Я добавил свое право в свой проект в виде приложений: kumpul.co.id - person calvin sugianto; 10.03.2017
comment
Это инструмент проверки API поиска приложений, а не универсальный инструмент проверки ссылок (которого нет у Apple). Результаты этого инструмента не имеют никакого отношения к тому, работают универсальные ссылки или нет. - person Alex Bauer; 10.03.2017