NSUserDefaults: ou se trouve le fichier xml généré

Bonjour à  tous!!



Petite question sécurité point de vue NSUserDefault.

Je stock des infos dans celui-ci (mot de passe / id) qui à  ce que je comprend écrit dans un fichier XML dans library/Preferences.

Hors J'aimerai savoir avant de mettre en ligne l'application si les données stockées sont embarquées par l'application ou si elles sont stockées uniquement le Mac.

Je ne cherche pas à  l'embarqué dans l'appli mais simplement que chaque personnes qui l'utilise l'ai avec "les réglages d'usine".



J'espère que ma question est clair image/rolleyes.gif' class='bbc_emoticon' alt='::)' />

Merci à  vous!!

Réponses

  • yoannyoann Membre
    Les réglages d'usine se mettent en place avec la méthode registerDefault sur ton NSUserDefault. Pour le reste, les réglages sauvegardés durant l'exécution sont uniquement dans le dossier perso de l'utilisateur donc ils ne suivent pas l'application quand on la déplace.



    Par contre tu ne fois pas utiliser NSUserDefault pour stocker un mot de passe, c'est une faille énorme de sécurité (surtout quand on sait que tout le monde utilise le même mot de passe de partout). Tu dois utiliser le trousseau d'accès pour ça.
  • CéroceCéroce Membre, Modérateur
    mai 2012 modifié #3
    Pour répondre complétement, les fichiers plist qui contiennent les NSUserDefaults sont dans ~/Bibliothèque/Préférences (ou ~/Library/Preferences pour le gestionnaire de fichiers).



    Je crois me souvenir que pour les applications en sandbox, les Préférences se trouvent aussi dans la sandbox.
  • Merci yoann pour ta réponse clair et rapide image/biggrin.png' class='bbc_emoticon' alt=':D' /> !!

    Je prend note pour le trousseau d'accès.
  • cocoacola71cocoacola71 Membre
    mai 2012 modifié #5
    'Céroce' a écrit:


    Pour répondre complétement, les fichiers plist qui contiennent les NSUserDefaults sont dans ~/Bibliothèque/Préférences (ou ~/Library/Preferences pour le gestionnaire de fichiers).



    Je crois me souvenir que pour les applications en sandbox, les Préférences se trouvent aussi dans la sandbox.
    Merci pour ta réponse, il me manque plus qu'a deviner le nom du fichier qui stock image/wacko.png' class='bbc_emoticon' alt=' :* ' />
  • yoannyoann Membre
    'Céroce' a écrit:


    Pour répondre complétement, les fichiers plist qui contiennent les NSUserDefaults sont dans ~/Bibliothèque/Préférences (ou ~/Library/Preferences pour le gestionnaire de fichiers).



    Je crois me souvenir que pour les applications en sandbox, les Préférences se trouvent aussi dans la sandbox.




    La Sandbox sur Mac ne comporte que des liens symboliques vers les ressources autorisé en fait.


    'cocoacola71' a écrit:


    Merci pour ta réponse, il me manque plus qu'a deviner le nom du fichier qui stock image/wacko.png' class='bbc_emoticon' alt=' :* ' />




    Le nom de ton bundle (com.yourcompany.your_app) mais tu n'as pas besoin de l'éditer à  la main.
  • 'yoann' a écrit:


    Le nom de ton bundle (com.yourcompany.your_app) mais tu n'as pas besoin de l'éditer à  la main.
    Le soucis est que le nom de mon bundle n'est pas présent dans les fichier (fichier caché?)
  • AliGatorAliGator Membre, Modérateur
    Heu mais il ne faut pas toucher le PLIST des préférences à  la main !

    Pourquoi tu veux "deviner le nom du fichier qui le stocke" ?



    Tu n'as pas à  savoir où se trouve le PLIST utilisé par NSUserDefaults pour ton application.

    D'autant que les NSUserDefaults sont bien plus qu'un simple PLIST, ils gèrent les domaines, du coup une sorte aussi d'héritage des defaults, dont le "Registration Domain" qui stocke les valeurs par défaut...

    Et puis rien ne garantit qu'Apple ne change pas le format utilisé pour les NSUserDefaults un jour (même si c'est hautement improbable)



    Bref tu n'as pas à  manipuler ce fichier, ce que tu es sensé faire c'est juste manipuler les defaults par NSUserDefaults par code (ou par defaults par terminal). Bien sûr c'est jouable d'aller à  la main chercher le PLIST et l'éditer, mais si tu as à  faire ça c'est qu'il y a un problème.



    Et les NSUserDefaults sont plutôt là  pour garder les préférences non sensibles, pour tout ce qui est mots de passe en effet il faut utiliser le trousseau.
  • cocoacola71cocoacola71 Membre
    mai 2012 modifié #9
    D'accord!!

    Merci de ta réponse AliGator image/smile.png' class='bbc_emoticon' alt=':)' />

    Le but était seulement de savoir si NSUserDefaults accompagnait l'application sur un autre Mac, si celui-ci téléchargeait l'application.

    Mais à  ce que j'ai compris NON, donc parfait image/cool.gif' class='bbc_emoticon' alt='8--)' />
Connectez-vous ou Inscrivez-vous pour répondre.