Immer alle cookies von WKWebView

beim abrufen der cookies von UIWebView scheint einfach durch die Verwendung NSHTTPCookieStorage.sharedHTTPCookieStorage() scheint es WKWebView speichert die cookies irgendwo sonst.

Habe ich einige der Forschung, und ich war in der Lage zu Holen ein paar Kekse aus der packte es aus NSHTTPURLResponse Objekt. dies bedeutet jedoch nicht, enthalten alle cookies WKWebView:

func webView(webView: WKWebView, decidePolicyForNavigationResponse navigationResponse: WKNavigationResponse, decisionHandler: (WKNavigationResponsePolicy) -> Void) {

  if let httpResponse = navigationResponse.response as? NSHTTPURLResponse {
    if let headers = httpResponse.allHeaderFields as? [String: String], url = httpResponse.URL {
      let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(headers, forURL: url)

      for cookie in cookies {
        logDebug(cookie.description)

        logDebug("found cookie " + cookie.name + " " + cookie.value)
      }
    }
  }
}

Seltsam, es gibt auch eine Klasse WKWebsiteDataStore in ios 9, die verantwortlich für die Verwaltung von cookies in WKWebView jedoch die Klasse nicht enthalten, eine öffentliche Methode zum abrufen der cookies Daten:

let storage = WKWebsiteDataStore.defaultDataStore()

storage.fetchDataRecordsOfTypes([WKWebsiteDataTypeCookies], completionHandler: { (records) -> Void in
  for record in records {
    logDebug("cookie record is " + record.debugDescription)

    for dataType in record.dataTypes {
      logDebug("data type is " + dataType.debugDescription)

      //get cookie data??
    }
  }
})

Gibt es eine Abhilfe für immer die cookie-Daten?

Erwähnenswert ist, dass das WebKit-team scheint auf einem richtigen Weg, um Zugang WKWebView Sie die cookie-Speicherung: bugs.webkit.org/show_bug.cgi?id=140191
haben Sie noch keine Lösung gefunden, ich bin mit dieser Arbeit von Monaten, aber nicht jede Lösung noch: - (
stackoverflow.com/questions/39772007/...
Sie haben nicht zu erwähnen get cookie-Daten 🙂

InformationsquelleAutor aporat | 2015-10-15

Schreibe einen Kommentar