iOS WKWebView 网络请求监听 - Swift 示例
要监听 iOS 的 WKWebView 的网络请求,你可以使用 WKNavigationDelegate 协议的一些方法来实现。以下是一个示例代码,展示了如何监听 WKWebView 的网络请求:\n\n首先,确保你的视图控制器遵循 WKNavigationDelegate 协议:\n\nswift\nclass ViewController: UIViewController, WKNavigationDelegate {\n // ...\n}\n\n\n然后,在你的视图控制器中实现 WKNavigationDelegate 的方法:\n\nswift\noverride func viewDidLoad() {\n super.viewDidLoad()\n \n let webView = WKWebView(frame: view.bounds)\n webView.navigationDelegate = self\n view.addSubview(webView)\n \n // 加载一个网页\n if let url = URL(string: "https://www.example.com") {\n webView.load(URLRequest(url: url))\n }\n}\n\nfunc webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {\n print("网页加载完成")\n}\n\nfunc webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {\n print("开始加载网页")\n}\n\nfunc webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {\n print("网页加载失败:(error.localizedDescription)")\n}\n\nfunc webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) {\n print("网页重定向")\n}\n\nfunc webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {\n print("网页开始接收内容")\n}\n\nfunc webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {\n print("收到身份验证挑战")\n completionHandler(.useCredential, URLCredential(trust: challenge.protectionSpace.serverTrust!))\n}\n\n\n这些方法中的大部分都是可选的,你可以根据你的需要实现其中的一些或全部。
原文地址: https://www.cveoy.top/t/topic/qzlr 著作权归作者所有。请勿转载和采集!