如何将持久性cookie存储添加到WKWebView?

时间:2019-04-03 18:26:41

标签: ios swift wkwebview wkhttpcookiestore

我目前有一个具有登录系统的在线网站。 在我的应用程序中,我将用户定向到显示登录屏幕的Web视图。问题是,即使他们在登录后单击“记住我/继续登录”,他们离开Webview并返回时也必须再次登录。

我尝试了以下语法,直到iOS 12都可以使用

func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Swift.Void) {
        guard
            let response = navigationResponse.response as? HTTPURLResponse,
            let url = navigationResponse.response.url
            else {
                decisionHandler(.cancel)
                return
        }

        if let headerFields = response.allHeaderFields as? [String: String] {
            let cookies = HTTPCookie.cookies(withResponseHeaderFields: headerFields, for: url)
            cookies.forEach { (cookie) in
                HTTPCookieStorage.shared.setCookie(cookie)
            }
        }
        decisionHandler(.allow)
    }

我的目标是能够从Webview中筛选出来,然后返回并保持活跃的会话状态。谢谢!

0 个答案:

没有答案