So löschen Sie cookies WKWebview
Für jetzt bin ich dabei, wie dieser
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies])
{
[storage deleteCookie:cookie];
}
Aber es funktioniert nicht auf iOS 8, 64-bit-Gerät.
Andere Weise die saubere cookies von WKWebview? Jede Hilfe wird geschätzt. danke.
InformationsquelleAutor Pankaj Gaikar | 2015-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Veröffentlicht Apple neue APIs für iOS 9, so, jetzt können wir entfernen, domain-spezifische cookies, die für WKWebView mit folgenden code, aber dieser funktioniert nur auf Geräten mit iOS version 9 oder später:
Obigen Schnipsel wird sicher Arbeit für iOS 9 und später. Leider, wenn wir WKWebView für die iOS-Versionen vor iOS 9, wir haben immer noch zu den traditionellen stick-Methode und das löschen der ganzen cookies-Speicher, wie unten beschrieben.
Unten ist Swift 3-version
Swift 4:
Haben Sie versucht, entfernen der record vom Typ WKWebsiteDataTypeSessionStorage?
Leider ist es als cookie, debugging im safari zeigt ich habe zwei domains gespeichert, die mit einer Menge anderer Gegenstände verwendet cookies, local storage etc. Und unter HTTPCookieStore sehen Sie sich eine Liste über alle Domänen, eine Liste der cookies. Dieses session-cookie, ich will es. Aber nicht bei der Beantragung througuh tis neuen DataStore. Ich weiß allerdings sehen die Zwei Elemente des Bereichs. so sein wie ich durchmachen müssen, um einen Drilldown auf eine zweite Ebene.
InformationsquelleAutor Pankaj Gaikar
Swift 3-version von Sarat Antwort:
InformationsquelleAutor Simon Epskamp
In iOS9:
InformationsquelleAutor Kingiol
Keine dieser Optionen für mich gearbeitet, aber ich fand eine, die hat:
InformationsquelleAutor Zack Shapiro
Zusätzlich zu clearing-cookies aus der gemeinsam benutzten cookie-Speicher, ich würde versuchen, den cache leeren (NSURLCache) und entsorgen Sie die WKWebView und erstellen Sie eine neue mit einer neuen WKProcessPool
Wenn Sie WKProcessPool trick ( von stackoverflow.com/questions/33156567/... ) für die gemeinsame Nutzung von cookies zwischen mehreren WKWebViews, müssen Sie erstellen eine neue WKProcessPool zu wie in der Antwort.
InformationsquelleAutor Subbu
Swift 4 und kürzere version:
InformationsquelleAutor Sergi Gracia
Wie es scheint, NSHTTPCookieStorage ist nun in iOS 8.2 richtig cookies löschen, wie gewünscht. Ich hatte versendet, eine app, die würde diesen code ausführen, bevor du eine WKWebView basierten login:
Wo früher als iOS 8.2 die website auto-login mit den gespeicherten cookies, die es nun richtig fragt den Benutzer, re-login. All dies geschah, ohne dass ich Versand ein update der app. 🙂
OK kein problem ich werde für Ihre Antwort warten
Jetzt bin ich ratlos, und habe keine Ahnung, was hier passiert, immer noch versuchen, einige workaround..
Ich finde auf google aber viele Seiten sagen nicht klar cooki
InformationsquelleAutor Rohit suvagiya
Esqarrouth Antwort ist nur teilweise richtig.
Der richtige swift-version ist:
InformationsquelleAutor ykonda
WKWebview speichern von innen nichts [NSHTTPCookieStorage sharedHTTPCookieStorage].
clearing WKWebsiteDataStore wird die Lösung für dieses problem.
Immer noch für IOS8 die WKwebview, ist diese Methode nicht anwendbar..
InformationsquelleAutor Jeba Moses
Swift version:
true
für den letzten parameter inNSSearchPathForDirectoriesInDomains
und es funktioniertInformationsquelleAutor Esqarrouth