iOS 11 apporte quelques mises à jour pour WKWebView, y compris la gestion des cookies. J'ai commencé à migrer mon application de UIWebView et a couru dans un problème: même si WKHttpCookieStore fournit une méthode pour supprimer les cookies (deleteCookie:completionHandler:, emballage Xamarin: DeleteCookieAsync), en fait il ne supprime pas tous les cookies. Voici mon code:Comment supprimer les cookies de 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/")));
Par exemple, ce cookie est supprimé:
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
Mais celui-ci n'est pas:
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
Même problème avec l'application native Swift. Je suis assez confus puisque le code similaire fonctionne très bien avec NSHttpCookieStorage
+ UIWebView
.
Est-ce que ce comportement est attendu? Si oui, pourquoi? Y at-il un moyen de nettoyer les cookies dans WKHttpCookieStore
?
Oui, ça ressemble à un bogue iOS. –
Ne fonctionne pas pour moi. J'ai essayé beaucoup de solutions de contournement et toujours ne pas avoir la bonne solution. – CarLoOSX