2010-06-28 11 views
9

Estoy usando [NSUserDefaults standardUserDefaults] para almacenar la configuración de la aplicación.¿Qué tan persistente es [NSUserDefaults standardUserDefaults]?

Mis preguntas son:

  • hacer esos ajustes se eliminan en la eliminación de aplicaciones?
  • ¿Se guardan después de una actualización de la aplicación (a través de la AppStore )?

Porque lo estoy usando para almacenar una contraseña y no quiero que mis usuarios las reinicien en cada actualización. Además, me gustaría que la única manera de restablecer la contraseña sea eliminar la aplicación y volver a instalarla.

¿Es NSUserDefault la elección correcta?

Gracias, Jérémy

Respuesta

22

Sí, se retiran en la eliminación de aplicaciones y sí que se mantienen cuando se actualiza una aplicación.

Sin embargo, no se recomienda almacenar datos confidenciales en los NSUserDefaults, en su lugar los utilizaría con el Keychain.

+1

Gracias Tom! Exactamente el tipo de respuesta que necesitaba. – jchatard

+0

No hay problema :) –

+0

Hola Tom y jchatard, gracias por tu publicación, me ayuda también. Sin embargo, si quiero almacenar los datos incluso cuando la aplicación se elimina, ¿hay alguna manera? Como usar plist? Mi situación es almacenar la información de si el usuario tiene elementos comprados en la aplicación. Obviamente, no quiero volver a cobrarles si eliminan y vuelven a instalar la aplicación. ¿O lo hace la tienda de aplicaciones para recordar su historial de compras en su cuenta de iTunes? Gracias. – Anthony

0

Uso NSUserDefaults en mi aplicación para permitir el acceso adicional a mi aplicación para mis colegas. Simplemente tienen que ingresar la palabra clave en la configuración y la aplicación está completamente abierta.

al punto cada vez que actualizo la aplicación, ellos tienen que volver a ingresar la palabra clave, por lo que yo diría por experiencia que no se guardan después de las actualizaciones. Los valores deben ser reingresados.