Cookies löschen für die WKWebView?
Einer iOS-8-app, die ich verwenden möchte WKWebView
für eine benutzerdefinierte Authentifizierung ViewController, dass ich Baue. Jedoch kann ich nicht scheinen, um herauszufinden, wie Sie zum löschen der gespeicherten cookies für die WKWebView
. Ist es gar nicht möglich, gerade jetzt?
Ich habe keine Kontrolle über die server-Seite, und der service ist das senden, was aussieht wie ein dauerhaft (oder zumindest ein lange gelebt) cookie, wenn der Benutzer sich erfolgreich angemeldet hat. Das problem ist, wenn der Nutzer will, um ändern login, dann wird es unmöglich, denn selbst wenn sich der Benutzer abmeldet und drückt sich wieder einzuloggen, dann wird der server automatisch leitet mithilfe der gespeicherten cookies und logs wieder.
Offen für Ideen und Anregungen, vielen Dank!
In UIWebView
es war einfach zu klar, gespeicherte cookies, alles, was Sie zu tun hatte, war dies:
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies])
{
[storage deleteCookie:cookie];
}
Aber, die WKWebView
scheint nicht zu verwenden, die NSHTTPCookieStorage da habe ich auch schon versucht, dies zu tun, bevor das laden der Anfrage in der WKWebView
! 🙁
- Ich habe gerade die gleiche Frage gestellt auf die iOS - /Web-Technologien im forum! Gleiche Problem - testen wollen, nur Problemumgehung wischen Sie den Simulator nach jedem test. Ich entdeckte die nicht-Nutzung von NSHTTPCookieStorage letzten Sommer. Nicht sicher, ob Sie sehen können gelöschte Antworten, die jemand veröffentlicht, dann gelöscht, eine Antwort, wo Sie vorgeschlagen, Javascript zu verwenden, um wischen Sie die cookies. Ich werde versuchen, und wenn es funktioniert ich werde diesen thread zu aktualisieren.
- Ich habe versucht und versucht zu entfernen (abgelaufen) alle cookies, die mit der JavaScript-Injektion, niemals könnte man es an die Arbeit.
- Ich bin mit einem wkwebview und der code funktionierte für mich. es ist möglich, Sie Hinzugefügt NSHTTPCookies zu wkwebview. Ich habe es konvertieren, um eine rasche erste, aber das sollte keinen Unterschied machen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
War die Antwort, die mich auf die interne Apple-Foren: verwenden Sie eine veränderliche NSURLRequest, und legen Sie
HTTPShouldHandleCookies
KEINE:Nicht gesendeten cookies auf der Website, so erhalten Sie die login-Bildschirm (für die Prüfung) zu jeder Zeit.
request.HTTPShouldHandleCookies = NO;
Den Dienst in Frage, erkennt dieser, post erfolgreicher Anmeldung und nicht den token. Stattdessen gibt die Fehlermeldung: "Diese Seite konnte nicht geladen werden. Wenn Sie cookies in Ihrem browser deaktiviert, oder Sie sind das surfen im Privaten Modus, versuchen Sie bitte, aktivieren von cookies oder schalten Sie den Privaten Modus, und wiederholen Sie die Aktion."Scheint es, wie
NSHTTPCookieStorage
ist jetzt wird verwendet 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 eineWKWebView
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. 🙂
Vielen Dank für das heads-up @jackreichert !