2009-12-08 6 views
10

Sur l'iPhone, sans compter les téléphones cassés par jail, d'autres applications peuvent-elles lire les valeurs que vous avez définies en utilisant NSUserDefaults? J'envisage d'enregistrer le nom d'utilisateur/mot de passe du client pour notre service et je veux m'assurer qu'il est sécurisé.Est-ce que d'autres programmes peuvent lire mes paramètres NSUserDefaults?

+0

Bonne question. Je ne le sais pas du haut de ma tête et je devrais le faire. – TechZen

+4

Que vous le puissiez ou non, vous ne devriez pas stocker le mot de passe en clair. –

Répondre

9

Non, les autres applications ne peuvent pas voir vos données. Cela dit, vous devriez probablement envisager d'utiliser le keychain sur l'iPhone pour stocker des données sensibles comme les noms d'utilisateur et les mots de passe.

-2

Tout d'abord, vous devriez être sauver userid/mot de passe dans the keychain, pas les paramètres utilisateur par défaut.

Deuxièmement, oui, d'autres applications peuvent lire les NSUserDefaults. Les valeurs par défaut sont unix style utilisateur par défaut pas les paramètres par défaut. Sous l'ancien système d'exploitation NextStep, les utilisateurs individuels les suivraient depuis la machine en réseau vers la machine en réseau. L'idée est que les utilisateurs ont des préférences pour les choses comme les polices par défaut que toutes les applications devraient utiliser.

L'iPhone a hérité de cela en étant une version allégée de MacOS X. Je ne suis pas sûr à quel point le sandboxing sur les applications iPhone est à cet égard. Il serait peut-être possible de se frayer un chemin à travers le système si vous connaissiez les clés appropriées pour les domaines et les valeurs.

Certes, Apple déconseille fortement de conserver des informations sensibles dans les valeurs par défaut de l'utilisateur.

Questions connexes