2010-12-13 13 views
6

Tengo una aplicación que solicita un servicio REST. La autenticación se realiza mediante cookies. Esto ya funcionaBorrar las cookies del simulador de iPhone

Lo que tengo problemas es probar el caso cuando la cookie ya no es válida y mi código tiene que volver a autenticarse. Para probar esto, tengo que esperar hasta que la cookie no sea válida, lo que podría llevar algo de tiempo. Para acelerar esto, pensé que si borraba la cookie, tendría el mismo efecto.

¿Cómo eliminar todas las cookies de una aplicación en el simulador de iPhone?

ya he intentado lo siguiente:

Eliminación de aplicación <-dir> /Library/Cookies/Cookies.binarycookies no funciona. Parece que mis cookies nunca se escriben en este archivo.

Eliminar todas las cookies en NSHTTPCookieStorage en el inicio de la aplicación tampoco funciona.

+0

¿Hay alguna razón restablecer el simulador no funcionará para usted? – aepryus

Respuesta

8

Las cookies se encuentran en:

/Users/<YourUsername>/Library/Application Support/iPhone Simulator/<iOSversion>/Library/Cookies/Cookies.binarycookies

Es posible que deba salir de Safari (en el área de cambio rápido de la aplicación) y luego eliminarlos para que Safari no los tenga en la memoria.

+0

Eso parecía funcionar solo para los SDK anteriores a 4.x. Tengo ese archivo pero no fue actualizado desde la primavera. – sliver

+0

Hmm, ya veo lo que quieres decir. Eso es extraño Voy a editar –

+2

Eliminar cookies/Cookies.binarycookies definitivamente funciona para mí, arriba. –

-1

¿Por qué no forzar la caducidad de las cookies a un valor bajo para las pruebas?

Eso es exactamente lo mismo entonces.

0

Puede ir a la pantalla de inicio, luego a la aplicación de configuración. Toca Safari, luego desplázate hacia abajo para borrar las cookies. No estoy seguro de dónde está el archivo de cookies en el sistema de archivos, en algún lugar debajo de /Developer/Platforms/iPhoneSimulator.platform. Esperaría (ver la respuesta de Matthew Frederick).

+0

Esta fue mi idea también, pero parece que no borra las cookies cuando lo hago. –

22

puede restablecer el SIMULADOR

  • lanzamiento del simulador.
  • Haga clic en el PRIMER ítem en la "barra de menú". Dice "iOS Simulator"
  • Aparecerá un menú. Baja por tres elementos de "reiniciar Contenido and Settings"
  • Haga clic en "Reset" en el cuadro de diálogo que aparece

iPhone Simulator Reset Cookies

+0

Restablecerlo es probablemente la ruta más fácil a menos que no desee restablecer todo lo demás en el simulador. –

+0

No es una opción, necesito que el resto de mi contenido no se elimine. Aunque pude copiarlo nuevamente después del reinicio. – sliver

+0

No Tengo varios archivos (por ejemplo, sqlite dbs) que guardan los datos del usuario que son necesarios para mis pruebas. – sliver

13

Probablemente encuentre más suerte haciendo esto en el código SDK en lugar de modificar los sistemas de archivos. Probar:

//Delete previous cookies 
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
    for (NSHTTPCookie *each in [[[cookieStorage cookiesForURL:YOUR_URL] copy] autorelease]) { 
     [cookieStorage deleteCookie:each]; 
    } 
+0

¡bueno! resuelto todos mis problemas –

+0

Funciona como el encanto. ¡¡Me salvaste el día !! –

+0

pero no puede resolver el problema de instagram – jpd

2

simplemente utilicé fseventer para inspeccionar lo que ocurre con el sistema de archivos simulador de iPhone cuando se pulsa el botón "Borrar cookies y datos". Estos comandos se replican que el comportamiento, sin embargo, hay un truco:

rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Cookies" 
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Caches/Snapshots" 
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Caches/com.apple.mobilesafari" 
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/WebKit" 
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Safari" 

El simulador necesita ser reiniciado.Por lo tanto, antes de manipular el sistema de archivos, corro esto:

killall "iPhone Simulator" 
Cuestiones relacionadas