2009-02-20 6 views
16

Quel est le chemin d'accès standard sur MacOS X pour le stockage des données d'application devant être partagées par différents utilisateurs? Je ne parle pas de données temporaires, mais de données qui sont utilisées par un programme particulier sur une base régulière et n'appartiennent à aucun utilisateur en particulier. Par exemple une table des meilleurs scores du jeu.Mac OS X: Où dois-je stocker les données d'application courantes?

Merci,

Adrian

Répondre

17

Je crois que vous parlez des fichiers de support - un fichier qui prend en charge l'application mais n'est pas nécessaire pour exécuter (votre table de highscore par exemple).

Ces fichiers doivent être placés dans ~/Bibliothèque/Application Support/YourApp ou/Bibliothèque/Application Support/YourApp pour les utilisateurs partagés.

The Library Directory Stores App-Specific Files

+0

Mais une application sandbox ne le peuvent pas écrire à/Bibliothèque/Application Support, non? Vous avez donc besoin d'une application non-sandbox (mauvaise) ou vous devez écrire dans ~/Library/Application Support, auquel cas il n'est pas partagé entre les utilisateurs, comme demandé par OP. –

1

Certaines applications des fichiers mis dans le répertoire/Users/répertoire partagé. Je sais que c'est la manière standard de partager des fichiers entre utilisateurs, mais je ne suis pas sûr à 100% que ce soit pensé pour le stockage de données d'application.

Le dossier/Library * est pensé pour les données communes à l'ensemble du système, similaires aux/Users/Usernames/Library.

Mais vous ne devriez certainement pas écrire de données dans le répertoire Application.app. Les utilisateurs sans droits d'administration n'auront même pas le droit d'écrire dans ces répertoires.

* = Or /System/Library. Need to verify. 
5

Pour obtenir le répertoire, vous pouvez utiliser la fonction « NSSearchPathForDirectoriesInDomains », avec le paramètre répertoire étant « NSApplicationSupportDirectory », et le paramètre domainMask étant « NSLocalDomainMask ».

(NSApplicationSupportDirectory est le « Emplacement des fichiers de support d'application », tandis que NSLocalDomainMask signifie « local à la machine de la place pour installer des éléments en cours disponibles à tout le monde sur cette machine. »)