Dans l'application je travaille, je suis la génération d'un nom d'utilisateur et mot de passe et de les stocker dans [NSUserDefaults standardUserDefaults]
. Je sais qu'il y a des informations à l'échelle du système que vous pouvez récupérer à partir de là; cela signifie-t-il que toutes les applications sur le téléphone ont accès à tout ce qu'il y a dedans? Je suis actuellement en train de préfixer les clés que j'utilise avec des chaînes de caractères liées au nom de mon application pour éviter les conflits avec d'autres applications, mais est-ce nécessaire? Et si oui, existe-t-il un meilleur moyen d'éviter de telles collisions?Devrais-je m'inquiéter des collisions dans NSUserDefaults?
Répondre
NSUserDefaults utilise le concept abstrait de "chemins de recherche" pour rechercher les valeurs par défaut. Si vous ne le personnalisez pas, l'objet standard par défaut apparaîtra à trois endroits; les arguments de lancement, les préférences de votre application et les préférences du système (par exemple, les options de localisation globale). Vous pouvez également ajouter manuellement des identifiants pour d'autres chemins de recherche, si vous souhaitez partager les mêmes préférences entre plusieurs applications (je n'ai pas essayé cela avec l'iPhone, donc je ne sais pas si c'est disponible sur Cocoa Touch ou si vous ne peut le faire que sur OS X).
Vous pourriez potentiellement avoir un conflit avec l'une des préférences du système, mais comme le chemin de recherche de votre application est recherché, il n'y a jamais de problème.
n ° NSUserDefaults ne sont pas l'ensemble du système. Nomme-les comme tu veux, ça ira. :)
Vous devez également stocker les noms d'utilisateur et les mots de passe dans le trousseau et non dans les valeurs par défaut de l'utilisateur. En les stockant dans les valeurs par défaut des utilisateurs, vous les ouvrez à l'espionnage lorsque vous sauvegardez les données sur leur Mac.
- 1. Collisions d'espace de noms
- 2. iPhone NSUserDefaults
- 3. Exemples de collisions de hachage?
- 4. NSUserDefaults: plantage de setObject
- 5. NSUserDefaults vs sqlite3
- 6. NSUserDefaults n'épargnent pas correctement
- 7. Comment sécuriser NSUserDefaults?
- 8. Enregistrement d'une liste de contacts dans NSUserDefaults
- 9. Enregistrer les entités CoreData dans NSUserDefaults
- 10. Gestion des collisions de billes et de briques
- 11. actionscript ExternalInterface espace de noms collisions
- 12. Modifier des objets dans NSUserDefaults sans créer et re-définir des copies
- 13. Simulation du mouvement d'une fenêtre et avoir réagi aux collisions
- 14. Collisions de répartition de la fonction Objective-C; Ou, comment réaliser des "espaces de noms"?
- 15. Cocoa - Notification sur le changement de valeur NSUserDefaults?
- 16. iPhone SDK NSUserDefaults ne pas enregistrer les valeurs correctes
- 17. Les objets retournés par NSUserDefaults doivent être libérés ou non
- 18. NSUserDefaults: À quoi sert la méthode + resetStandardUserDefaults? Comment puis-je fournir des "paramètres système"?
- 19. Existe-t-il une meilleure façon de mettre un tas de choses dans NSUserDefaults?
- 20. comment sauvegarder slidervalue et marquer la valeur dans nsuserdefaults ou de toute autre manière efficace?
- 21. De quelle manière présenteriez-vous un algorithme pour détecter les collisions entre différents objets?
- 22. Quand l'état de l'application appartient-il aux données de base au lieu de NSUserDefaults?
- 23. Changement de la vue principale en utilisant le NSUserDefaults et le groupe de paramètres
- 24. Enregistrement d'un entier unique dans NSdefaults
- 25. Stockage des mots de passe dans les applications iPhone
- 26. Mise à jour et modification des paramètres des fichiers plist avec les nouvelles versions d'une application
- 27. Comment placer des chaînes dans des chaînes dans MFC?
- 28. Dans zsh, comment transmettre des tableaux anonymes dans des fonctions?
- 29. Insérer des caractères dans des cellules existantes
- 30. Comment charger des appareils dans un objet simulé dans des rails pour des tests?