iOS 11 bringt einige Updates für WKWebView, einschließlich der Verwaltung von Cookies. Ich habe angefangen, meine App von UIWebView Migration und lief in ein Problem: obwohl WKHttpCookieStore stellt ein Verfahren zum Löschen von Cookies (deleteCookie:completionHandler:, Xamarin Wrapper: DeleteCookieAsync), in der Tat es nicht alle Cookies nicht löschen. Hier ist mein Code:Wie lösche ich Cookies von WKHttpCookieStore?
WKHttpCookieStore cookieStore = WKWebsiteDataStore.DefaultDataStore.HttpCookieStore;
// Delete all cookies
NSHttpCookie[] allCookies = await cookieStore.GetAllCookiesAsync();
foreach (NSHttpCookie cookieToDelete in allCookies)
{
await cookieStore.DeleteCookieAsync(cookieToDelete);
}
NSHttpCookie[] newCookies = await cookieStore.GetAllCookiesAsync();
// why newCookies is not an empty array?
myWkWebView.LoadRequest(new NSUrlRequest(new NSUrl("https://facebook.com/")));
Zum Beispiel dieses Cookie gelöscht wird:
NSHTTPCookie
version:1
name:c_user
value:100015842...
expiresDate:'2017-12-27 07:37:39 +0000'
created:'2017-09-28 07:39:01 +0000'
sessionOnly:FALSE
domain:.facebook.com
partition:none
path:/
isSecure:TRUE
path:"/"
isSecure:TRUE
Aber dies ist nicht:
NSHTTPCookie
version:1
name:sb
value:bKbMW......OJ1V
expiresDate:'2019-09-28 07:37:39 +0000'
created:'2017-09-28 07:39:15 +0000'
sessionOnly:FALSE
domain:.facebook.com
partition:none
path:/
isSecure:TRUE
path:"/"
isSecure:TRUE
gleiches Problem mit nativen Swift App. Ich bin ziemlich verwirrt, da ein ähnlicher Code mit NSHttpCookieStorage
+ UIWebView
einwandfrei funktioniert.
Ist das erwartete Verhalten? Wenn ja warum? Gibt es eine Möglichkeit, Cookies in WKHttpCookieStore
zu reinigen?
Ja, es sieht aus wie ein iOS-Bug. –
Funktioniert nicht für mich. Ich habe viele Workarounds ausprobiert und immer noch nicht die richtige Lösung. – CarLoOSX