Je pense en fait qu'il peut conserver les informations en mémoire cache lorsque vous fermez le programme. UIWebView
. J'ai essayé de retirer un UIWebView
de mon UIViewController
, le relâcher, puis en créer un nouveau. La nouvelle version se souvenait exactement de l'endroit où j'étais lorsque je revenais à une adresse sans avoir à tout recharger (elle se souvenait de mes précédentes visites à l'étranger). UIWebView
était connectée).
Alors quelques suggestions :
[[NSURLCache sharedURLCache] removeCachedResponseForRequest:NSURLRequest];
Cela permet de supprimer une réponse en cache pour une demande spécifique. Il existe également un appel qui supprimera toutes les réponses mises en cache pour toutes les requêtes exécutées sur la page UIWebView
:
[[NSURLCache sharedURLCache] removeAllCachedResponses];
Après cela, vous pouvez essayer de supprimer tous les cookies associés avec la fonction UIWebView
:
for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
if([[cookie domain] isEqualToString:someNSStringUrlDomain]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
}
Swift 3 :
// Remove all cache
URLCache.shared.removeAllCachedResponses()
// Delete any associated cookies
if let cookies = HTTPCookieStorage.shared.cookies {
for cookie in cookies {
HTTPCookieStorage.shared.deleteCookie(cookie)
}
}