Application permettant de modifier les préférences d'une autre

Bonjour,


 


Je développe un utilitaire permettant de gérer les fenêtre. Cet utilitaire n'a ni icone dans le Dock ,ni ailleurs. Je cherche donc à  faire une seconde application permettant de modifier ses préférences (un peu comme le fait Alfred)


 


Des idées pour y arriver?


 


Merci pour votre aide.


Réponses

  • Bonsoir,


     


    Le fichier de préférences d'une application standard se trouve sous forme .plist dans le dossier "Préférences" de la Bibliothèque. En principe, son nom est com.yourCompany.yourApplication.plist (le chemin est défini dans Xcode).


     


    Après, une plist c'est un NSDictionary, et si tu fournis les bonnes clés, tu peux accéder aux valeurs. Si tu veux les modifier, il te faudra en faire une copie dans un NSMutableDictionary, sinon tu auras une erreur à  l'exécution.


  • AliGatorAliGator Membre, Modérateur
    Ou alors utiliser NSPort ou NSNotificationCenter ou autre pour piloter le daemon depuis ton app de gestion de prefs et laisser le daemon gérer et modifier ses propres NSUserDefaults.


  • Bonsoir,


     


    Le fichier de préférences d'une application standard se trouve sous forme .plist dans le dossier "Préférences" de la Bibliothèque. En principe, son nom est com.yourCompany.yourApplication.plist (le chemin est défini dans Xcode).


     


    Après, une plist c'est un NSDictionary, et si tu fournis les bonnes clés, tu peux accéder aux valeurs. Si tu veux les modifier, il te faudra en faire une copie dans un NSMutableDictionary, sinon tu auras une erreur à  l'exécution.




     


    Attention, ça ne marche plus sous Mavericks... Les fichiers préférence sont maintenant mis en cache en mémoire (process nsprefd), et du coup les modifications directe des plist de préférences ne sont PAS visibles des applications, et même ECRASEES périodiquement par nsprefd...

  • berfisberfis Membre
    décembre 2013 modifié #5

    Bonsoir zoc,


     


    Que n'ai-je eu cette indication plus tôt... http://forum.cocoacafe.fr/topic/11924-préférences-la-menace-fantôme/ Merci tout de même!


     


    Mavericks, un pas de plus vers la boà®te ENIGMA. C'est un peu comme la saisie "intuitive" sur l'iPhone, "On sait mieux que vous ce que vous voulez écrire" et on se retrouve avec des messages hallucinants après lesquels on doit envoyer un SMS correctif... <_<


     


    Sacré Apple. Ils feraient mieux de bosser sur leur API Core Data + iCloud, ou ne pas introduire des bugs désopilants dans Xcode: vous avez déjà  vu votre fichier xib se déformer complètement dans la fenêtre de l'éditeur, comme un vulgaire jpeg, quand vous la redimentionnez ? C'est assez flippant...  :o


  • AliGatorAliGator Membre, Modérateur
    Ca n'a JAMAIS été une bonne idée de modifier les PLIST des préférences directement, le format de stockage n'étant pas garanti d'être conservé entre les versions de OSX (la preuve). Il y a tout ce qu'il faut pour manipuler correctement les préférences, soit par code avec NSUserDefaults soit par ligne de commande avec "defaults", etc... il y a des API dédiées et c'est documenté c'est pas pour rien ;-)
  • Bonsoir AliGator,


     


    Il était plus question de bousiller totalement ce fichier pour repartir sur du neuf que de bricoler à  l'intérieur...


     




    c'est documenté c'est pas pour rien ;-)




     


     Autant pour moi...


  • Bon apparemment il faut utiliser la méthode addSuiteNamed de NSUserDefaults. Si ça peut en aider d'autre!


  • AliGatorAliGator Membre, Modérateur
    décembre 2013 modifié #9
    Tu vois quand on se met a lire la doc on apprend des trucs et que même parfois on a la réponse à  notre question dis donc ^^


  • Tu vois quand on se met a lire la doc on apprend des trucs et que même parfois on a la réponse à  notre question dis donc ^^




    héhé, pas faux en plus ;)

Connectez-vous ou Inscrivez-vous pour répondre.