миграция с UIWebView на WKWebKit
раньше в проекте использовался UIWebView и в его делегате был метод
extension Secure3dsController: UIWebViewDelegate {
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebView.NavigationType) -> Bool {
return viewModel.shouldStartLoad(request: request)
}
}
где viewModel.shouldStartLoad(request: request)
это
func shouldStartLoad(request: URLRequest) -> Bool {
if let path = request.url?.absoluteString, path == termUrl {
print(path)
parse(httpBody: request.httpBody)
return false
}
return true
}
}
сейчас используется WKWebKit и метод shouldStartLoadWith request: поменялся на такой
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: ((WKNavigationActionPolicy) -> Void)) {
switch navigationAction.navigationType {
case .linkActivated:
if navigationAction.targetFrame == nil {
self.webView.load(navigationAction.request)
}
if let url = navigationAction.request.url, !url.absoluteString.hasPrefix("https://myUrl.ru/") {
UIApplication.shared.openURL(url)
print(url.absoluteString)
decisionHandler(.cancel)
return
}
default:
break
}
if let url = navigationAction.request.url {
print(url.absoluteString)
}
decisionHandler(.allow)
}
после чего webView перестал показывать страницу. Как это возможно исправить?