Как добавить постоянное хранилище файлов cookie в WKWebView? - PullRequest
0 голосов
/ 03 апреля 2019

У меня сейчас есть веб-сайт, на котором есть система входа. В моем приложении я направляю пользователей на веб-просмотр, который отображает экран входа в систему. Проблема в том, что даже если они нажимают кнопку «запомнить меня / оставаться в системе» после входа в систему ... в тот момент, когда они покидают веб-просмотр и возвращаются, они должны войти в систему снова.

Я пробовал следующий синтаксис, который работал до 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 и вернуться обратно, и при этом продолжать активную сессию. Спасибо!

...