【发布时间】:2019-01-07 13:53:42
【问题描述】:
我正在我的WKWebView 中加载一个 url 请求。
Charles 告诉我 Response Code: 503 Error 这很好,因为它应该不可用,但是
webView(_:didFail:withError:)
webView(_:decidePolicyFor:decisionHandler:)
函数永远不会被调用。
我应该如何处理这个错误响应?我认为代表设置正确。
import UIKit
import WebKit
class WebKitViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {
var urlRequest: URLRequest?
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView.navigationDelegate = self
if let urlRequest = urlRequest {
webView?.load(urlRequest)
}
}
override func loadView() {
super.loadView()
webView = WKWebView(frame: .zero)
view.addSubview(webView)
webView.uiDelegate = self
//constraints
}
func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
}
func webView(_ webView: WKWebView, didFinishProvisionalNavigation navigation: WKNavigation!) {
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
}
func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
//not called while request gets 503 error
}
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
//not called while request gets 503 error
}
}
编辑: func webView(_ webView: UIWebView, didFailLoadWithError error: Error) 完全是错误的。跳过那个。
【问题讨论】:
标签: ios swift error-handling webkit wkwebview