2009-02-20 19 views
16

¿Cuál es la ruta estándar en MacOS X para almacenar datos de aplicaciones que deben ser compartidos por diferentes usuarios? No estoy hablando de datos temporales, sino de datos que un programa en particular usa regularmente y que no pertenecen a ningún usuario en particular. Por ejemplo, una tabla de puntuación más alta del juego.Mac OS X: ¿Dónde debo almacenar datos de aplicaciones comunes?

Gracias,

Adrian

Respuesta

17

creo que estás hablando archivos de soporte - un archivo que es compatible con la aplicación, pero no se requiere para ejecutar (su tabla de puntuaciones, por ejemplo).

Estos archivos deben colocarse en ~/Library/Application Support/YourApp o/Library/Application Support/YourApp para usuarios compartidos.

The Library Directory Stores App-Specific Files

+0

Pero una aplicación de espacio aislado no puede escriba a/Library/Application Support, ¿verdad? Por lo tanto, necesita una aplicación que no esté en la zona de pruebas (mala) o tiene que escribir en ~/Library/Application Support, en cuyo caso no se comparte entre los usuarios, como solicitó OP. –

1

Algunas aplicaciones de poner los archivos en el directorio/directorio compartido/Usuarios. Sé que es la forma estándar de compartir archivos entre usuarios, pero no estoy 100% seguro de que esté pensado para el almacenamiento de datos de la aplicación.

Existe la carpeta/Library * que está pensada para datos comunes de todo el sistema, de forma similar a/Users/Usernames/Library.

Pero ciertamente no debe escribir datos en el directorio Application.app. Los usuarios sin derechos de administrador ni siquiera tendrán derecho a escribir en estos directorios.

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

para obtener el directorio, puede utilizar la función "NSSearchPathForDirectoriesInDomains", con el parámetro directorio de ser "NSApplicationSupportDirectory", y el parámetro domainMask ser "NSLocalDomainMask".

(NSApplicationSupportDirectory es la "Ubicación de los archivos de soporte de aplicaciones", mientras que NSLocalDomainMask significa "local a la máquina de la corriente lugar para instalar los elementos disponibles para todo el mundo en este equipo.")