WKWebview метод ответа навигации не вызывается после нажатия кнопки «Готово» в веб-просмотре - PullRequest
0 голосов
/ 29 апреля 2019

Я использую WKWebview для своего приложения Swift.По какой-то причине метод делегата ответа WKWebview не вызывается, когда пользователь нажимает кнопку «Готово» в WKWebView.Когда я пытаюсь выполнить то же действие в Интернете, он перенаправляет на правильный URL-адрес.

До сих пор я пытался очистить кэш WKWebview перед настройкой WKWebView в viewDidLoad или при получении предупреждения о памяти.Кроме того, мой info.plist допускает произвольные загрузки и NSExceptionAllowsInsecureHTTPLoads для целей тестирования.Несмотря на попытки отладки, метод делегата ответа на навигацию так и не был вызван.

func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
        if let webviewUrl = webView.url {
            let urlString = webviewUrl.absoluteString
            if urlString.contains("\(myUrlComponents)") {
                self.navigationController?.popViewController(animated: true)
                decisionHandler(.cancel)
                return
            }
        }
        decisionHandler(.allow)
    }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...