Swift - WKWebView и itms-сервисы (также открытое всплывающее окно) - PullRequest
0 голосов
/ 07 июня 2018

У меня проблемы с WKWebView и itms-services protocol.

Мое приложение состоит из одного веб-просмотра, в котором я правильно загружаю веб-страницу.Внутри этой веб-страницы в определенное время я бы загружал ссылку itms-services, чтобы установить приложение.

Если я использую Safari, то все в порядке: когда я нажимаю на ссылку, Safari показывает мне предупреждение, чтобы спроситьмне, если установка в порядке.

Но внутри WKWebView это предупреждение мне не показывается.

Я пытался реализовать метод webView(_:decidePolicyFor:decisionHandler:), но безуспешно.

Это мой код.

private func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {

        let requestURL: URL? = navigationAction.request.url
        let app = UIApplication.shared
        if let anURL = requestURL {
            if (requestURL?.scheme?.lowercased() == "itms-services") && app.canOpenURL(anURL) {
                if let anURL = requestURL {
                    app.openURL(anURL)
                    decisionHandler(.cancel)
                }
            } else {
                decisionHandler(.allow)
            }
        }

    }

URL-адрес itms-службы соответствует следующему шаблону:

itms-services: //? Action= download-manifest & url = https://www.temporary.it/temporary.plist

Где я не прав?Это правильный путь?

...