Application permettant de modifier les préférences d'une autre
AP
Membre
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.
Connectez-vous ou Inscrivez-vous pour répondre.
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.
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...
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...
Bonsoir AliGator,
Il était plus question de bousiller totalement ce fichier pour repartir sur du neuf que de bricoler à l'intérieur...
Autant pour moi...
Bon apparemment il faut utiliser la méthode addSuiteNamed de NSUserDefaults. Si ça peut en aider d'autre!
héhé, pas faux en plus