Cookies für WKWebView löschen?

8

Bei einer iOS 8-App möchte ich WKWebView für einen benutzerdefinierten Authentifizierungs-ViewController verwenden, den ich gerade erstelle. Ich kann jedoch nicht herausfinden, wie die gespeicherten Cookies für WKWebView gelöscht werden. Ist das überhaupt nicht möglich?

Ich habe keine Kontrolle über die Serverseite und der Dienst sendet etwas, das wie ein permanenter (oder mindestens langlebiger ) Cookie aussieht, wenn sich der Benutzer erfolgreich anmeldet. Das Problem ist, wenn der Benutzer seine Anmeldung ändern möchte, wird es unmöglich, denn selbst wenn sich der Benutzer abmeldet und erneut auf die Anmeldung klickt, leitet der Server die gespeicherten Cookies automatisch um und protokolliert sie zurück wieder.

Offen für Ideen und Vorschläge, danke!

In UIWebView war es einfach gespeicherte Cookies zu löschen, alles was Sie tun mussten war:

%Vor%

Aber die WKWebView scheint die NSHTTPCookieStorage nicht zu benutzen, weil ich das schon versucht habe, bevor ich die Anfrage in WKWebView ! : (

    
Dhiraj Gupta 01.10.2014, 15:26
quelle

2 Antworten

5

Es scheint, dass NSHTTPCookieStorage jetzt verwendet wird in iOS 8.2 verwendet wird, um Cookies bei Bedarf korrekt zu löschen. Ich hatte eine App ausgeliefert, die diesen Code vor dem Öffnen einer WKWebView basierten Anmeldung ausführen würde:

%Vor%

Wenn sich die Website früher als iOS 8.2 automatisch mit den gespeicherten Cookies anmeldet, wird der Benutzer nun aufgefordert, sich erneut anzumelden. All dies ist passiert, ohne dass ich ein Update für die App gesendet habe. :)

Danke für das heads-up @jackreichert!

    
Dhiraj Gupta 16.03.2015, 08:16
quelle
4

Die Antwort wurde mir in den internen Apple-Foren gegeben: Verwenden Sie einen veränderbaren NSURLRequest und setzen Sie HTTPShouldHandleCookies auf NO:

%Vor%

Es werden keine Cookies an die Website gesendet, sodass Sie jedes Mal den Anmeldebildschirm (zum Testen) erhalten.

    
David H 06.11.2014 20:37
quelle

Tags und Links