Я использую 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-адрес при вызове метода ответа навигации и вернуться к предыдущему экрану.