Comment bien manager ses plists lors du dév?

Hello!


 


Je gère une partie des données utilisateurs dans un plist.


Je voudrais tester que cette fonctionnalité marche bien.


 


Comment faire sachant qu'à  chaque fois que je re-build mon app, il semble que les fichiers de l'appli sont supprimés?


 


Comment accéder "physiquement", depuis l'ordinateur à  ces fichiers associés à  l'appli?


 


Merci!


Réponses

  • colas_colas_ Membre
    septembre 2015 modifié #2

    Réponse:


     


    Lorsque le projet est buildé sur le simulator le chemin du dossier Document de l'app est donné par 



    NSLog(@Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);

    Sinon, j'avais un bug qui faisait que mon NSDico n'était jamais écrit sur le disque. Donc, à  voir s'il va être effacé au cours des re-builds. Maintenant, j'ai un oe“il sur lui ;-)


     


    Mon bug c'est que la méthode NSMutableDico dicofromPath: renvoie nil si le dico n'a pas encore été créé....


  • Autre chose : si le dictionnaire contient des objects qui satisfont à  NSCoding, ça ne marche pas. Les objects du dico doivent être des Strings, Arrays, Number, etc.


    Pour les objets vérifiant NSCoding, il faut passer par NSData et NSKeyedArchiver.
  • Les plists ont généralement plus leur place dans le dossier Library (NSLibraryDirectory), ou l'un de ses sous dossiers (p ex NSApplicationSupportDirectory) que dans Documents.


    En fait ça dépend de ce qu'ils contiennent et à  quoi ils servent.


     


    Si tu les mets dans Documents ou dans Library, il n'y a aucune raison qu'un build les efface.


  • Merci pour ces précisions.

    Y a-t-il des différences techniques entre ces différents directories ou bien est-ce seulement des différences d'usage ?
  • Merci Samir !


    Aurais-tu une réponse plus concise ?


  • A vrai dire je ne comprend pas la totalité de ta question. "Différences techniques" ? 


     


    Pour l'usage je ne peux pas être plus concis que la documentation jointe.


  • Ce que je veux dire c'est : en pratique, ça change quoi de mettre un fichier dans Documents ou dans Library ?


  • AliGatorAliGator Membre, Modérateur
    ça change plein de choses ; droits d'accès via iTunes Doc Sharing, politique de backup iCloud, politique de conservation ou ménage des données, risque de rejet de l'appel si tu mets pas le fichier dans le bon sous-répertoire et que du coup la politique associée audit répertoire ne correspond pas à  l'usage fait de ton fichier...


    Bref tout ça est très bien expliqué, détaillé et résumé dans la doc que t'a fourni samir, on peut pas faire mieux.
  • En gros je sauvegarde l'historique de l'utilisateur et des données liées au profil de l'utilisateur.


    Sans lire les 130 pages, je pense que ça ira bien dans Documents/ ;-)


     


    En tout cas merci pour ces précisions supplémentaires !


  • AliGatorAliGator Membre, Modérateur
    octobre 2015 modifié #12
    Non. Plutôt AppSupport.


    Lis pas forcément les 130 pages, lis le tableau récapitulatif au moins.
Connectez-vous ou Inscrivez-vous pour répondre.