Ich denke tatsächlich, dass es zwischengespeicherte Informationen behalten kann, wenn Sie das schließen UIWebView
. Ich habe versucht, ein UIWebView
aus meinem zu entfernen UIViewController
, es freizugeben und dann ein neues zu erstellen. Der Neue erinnerte sich genau daran, wo ich mich befand, als ich zu einer Adresse zurückkehrte, ohne alles neu laden zu müssen (er erinnerte sich, dass mein Vorgänger UIWebView
angemeldet war).
Also ein paar Vorschläge:
[[NSURLCache sharedURLCache] removeCachedResponseForRequest:NSURLRequest];
Dies würde eine zwischengespeicherte Antwort für eine bestimmte Anforderung entfernen. Es gibt auch einen Aufruf, der alle zwischengespeicherten Antworten für alle Anforderungen entfernt, die ausgeführt werden auf UIWebView
:
[[NSURLCache sharedURLCache] removeAllCachedResponses]
Danach können Sie versuchen, alle zugehörigen Cookies zu löschen mit UIWebView
:
for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
if([[cookie domain] isEqualToString:someNSStringUrlDomain]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
}
Swift 3:
URLCache.shared.removeAllCachedResponses()
if let cookies = HTTPCookieStorage.shared.cookies {
for cookie in cookies {
HTTPCookieStorage.shared.deleteCookie(cookie)
}
}