ios - pro - ¿Cómo eliminar todas las cookies de UIWebView?
pagina incognito ipad (3)
En mi aplicación, tengo una UIWebview
que carga la página de autenticación de UIWebview
para iniciar sesión. Cuando el usuario inicia sesión, las cookies se guardan en la aplicación.
Mi aplicación tiene un botón de desconexión que no está relacionado con el inicio de sesión de linkedin. Entonces, cuando el usuario hace clic en este botón, cierra la sesión de la aplicación. Quiero que este cierre también borre sus cookies de linkedin de la aplicación, para que el usuario cierre la sesión completamente.
De acuerdo con esta pregunta , puede examinar cada cookie en el "Frasco de Galletas" y eliminarlas, de esta manera:
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies]) {
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
Podría hacer una función dentro del html de WebView, que limpia las cookies.
Si necesita que la limpieza se realice solo una vez, puede activar esta función con un evento Titanium, solo cuando se inicie la aplicación.
Solo quería agregar algo de información con respecto a esto.
En OS X 10.9 / iOS 7 y posterior, puede usar -resetWithCompletionHandler: para borrar las cookies y el caché, etc., de toda la aplicación de su sharedSession
:
Vacía todas las cookies, las memorias caché y las tiendas de credenciales, elimina los archivos de disco, vacía las descargas en progreso en el disco y garantiza que las solicitudes futuras se realicen en un nuevo socket.
[[NSURLSession sharedSession] resetWithCompletionHandler:^{
// Do something once it''s done.
}];
El bucle for-In con deleteCookie:
suena como una modificación al enumerarme una colección . (No sé, ¿podría ser una mala idea?)