Supprimer les cookies UIWebView

Comment supprimer les cookies dans UIWebView? Ce code:

NSArray* cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; for (NSHTTPCookie *cookie in cookies) { [cookies deleteCookie:cookie]; } 

supprime les cookies mais quand je redémarre mon application, il y a les mêmes cookies dans NSHTTPCookieStorage. Parfois, ce code fonctionne, mais je veux le faire fonctionner à chaque fois. Comment résoudre ce problème?

Essayez quelque chose comme ceci:

 NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray* facebookCookies = [cookies cookiesForURL: [NSURL URLWithSsortingng:@"http://login.facebook.com"]]; for (NSHTTPCookie* cookie in facebookCookies) { [cookies deleteCookie:cookie]; } 

Cela a fonctionné pour moi:

 NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray *allCookies = [cookies cookies]; for(NSHTTPCookie *cookie in allCookies) { if([[cookie domain] rangeOfSsortingng:@"facebook.com"].location != NSNotFound) { [cookies deleteCookie:cookie]; } } 

supprimer un seul cookie ne fonctionne pas toujours pour une raison étrange. Pour vraiment supprimer un cookie, vous devez stocker le cookie non spécifique, puis le recharger, puis parcourir tous les cookies et les supprimer comme ceci.

 NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; if (cookies != nil && cookies.count > 0) { for (NSHTTPCookie *cookie in cookies) { [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie]; } [[NSUserDefaults standardUserDefaults] synchronize]; } 

Le semblable pour le précédent mais plus simple:

 NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray *allCookies = [cookies cookies]; for(NSHTTPCookie *cookie in allCookies) { if([[cookie domain] contains:@"facebook.com"]) { [cookies deleteCookie:cookie]; } } 

La "meilleure réponse" est mauvaise car elle permet de supprimer les cookies pour les URL concrètes spécifiées. Ainsi, par exemple, vous supprimez cookie pour "login.facebook.com" mais vous risquez de manquer "www.login.facebook.com"

Assurez-vous d'appeler:

[[NSUserDefaults standardUserDefaults] synchronize];

à la fin … Fonctionne comme un charme …