Установить политику принятия WKWebView cookie в iOS 12 - PullRequest
0 голосов
/ 13 декабря 2018

Цель: вставить третьи файлы cookie в WKWebView.

До iOS 12 мне удалось исправить проблему с помощью этого фрагмента (см. https://medium.com/@flexaddicted/how-to-set-wkwebview-cookie-accept-policy-d8a2d3b77420):

func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> 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
      webView.configuration.websiteDataStore.httpCookieStore.setCookie(cookie)
    }
  }

  decisionHandler(.allow)
}

Начиная с iOSВ ответе WKWebView нет 12 файлов cookie.

https://bugs.webkit.org/show_bug.cgi?id=188691

Знаете ли вы какой-нибудь способ это исправить?

...