web-dev-qa-db-fra.com

Où les applications OSX stockent-elles généralement les données de configuration utilisateur?

J'ai remarqué sur OSX, l'installation est souvent une opération de glisser-déposer d'un fichier. Je suppose que le fichier est une archive de tous les bits nécessaires de l'application et que l'application s'exécute directement à partir de celui-ci. Où l'application stocke-t-elle les données de configuration, en particulier les paramètres par utilisateur lorsqu'il y a plusieurs utilisateurs? Sous Windows, ce type de contenu peut aller dans le registre sous HKLU ou HKLM, ou dans le dossier Application Data pour l'utilisateur ou pour tous les utilisateurs.

47
Rngbus

Dans/Utilisateurs/nom d'utilisateur/Bibliothèque/Préférences. Vous voyez également des éléments placés dans/Users/username/Library/Application Support.

Ces deux dossiers ont des emplacements globaux correspondants en dehors de/Users, à savoir sous/Library. Ceux-ci semblent cependant très peu utilisés par les applications en tant que telles, pour des raisons évidentes.

Le format des préférences pour les applications natives OSX sont généralement des fichiers .plist (liste de propriétés) avec un nom donné dans la syntaxe de nom de domaine inverse. Il existe une application autonome appelée Property List Editor qui vous permet de visualiser et de modifier ces fichiers. (Je pense que cela fait partie du téléchargement XCode/developer-tools.) Bien sûr, rien ne vous empêche d'utiliser votre propre système de stockage de préférences, et naturellement les applications qui sont principalement multiplates-formes auront tendance à le faire, mais les préférences devraient néanmoins être placé dans le répertoire/Users/username/Library/Preferences.

Edit: Si vous écrivez un logiciel pour Mac et que vous utilisez le framework Cocoa, alors Apple has ce document pour la partie de l'API Cocoa qui traite du stockage et de la récupération des paramètres de préférence: Programmation par défaut de l'utilisateur

75
harms

Aussi /Users/username/Library/Containers et /Users/username/Library/Group Containers sont des endroits à rechercher.

8
ThorstenC

En complément à la réponse de Harms, je voudrais noter que, comme le registre Windows, les préférences OS X ne sont délibérément pas supprimées lorsque l'application est supprimée mais, contrairement au registre Windows, les préférences peuvent migrer d'une machine à l'autre lorsque vous mettez à niveau votre Mac et utilisez la fonction de "migration des utilisateurs".

Cela peut conduire à des résultats surprenants tels que l'installation de "NeatoApp 2008" et la découverte qu'il connaît tous les paramètres que vous avez choisis pour "NeatoApp 2003" même si la version 2003 n'a jamais été installée sur votre machine actuelle.

7
Mike Heinz