2009-02-20 20 views
16

Jaka jest standardowa ścieżka na MacOS X do przechowywania danych aplikacji, które mają być udostępniane przez różnych użytkowników? Nie mówię o tymczasowych danych, ale danych, które są używane przez jeden konkretny program w sposób regularny i nie należą do żadnego konkretnego użytkownika. Na przykład tabela najlepszych wyników w grze.Mac OS X: Gdzie powinienem przechowywać typowe dane aplikacji?

Dzięki,

Adrian

Odpowiedz

17

Wydaje mi się, że mówisz o plikach wsparcia - plik, który obsługuje aplikację, ale nie jest wymagany do uruchomienia (na przykład Twoja tabela najlepszych wyników).

Te pliki należy umieścić w katalogu ~/Library/Application Support/YourApp lub/Library/Application Support/YourApp dla współużytkowników.

The Library Directory Stores App-Specific Files

+0

Ale piaskownicy aplikacja nie może napisz do/Library/Application Support, zgadza się? Tak więc potrzebujesz aplikacji niebędącej piaskownicą (zła) lub musisz napisać do ~/Library/Application Support, w takim przypadku nie jest ona dzielona między użytkowników, zgodnie z żądaniem OP. –

1

Niektóre aplikacje umieścić pliki w/Users/Shared-katalogu. Wiem, że to standardowy sposób udostępniania plików między użytkownikami, ale nie jestem w 100% przekonany, że jest to miejsce przechowywania danych aplikacji.

Istnieje folder/Library *, który jest uważany za ogólnosystemowe wspólne dane, podobne do/Users/Usernames/Library.

Ale na pewno nie powinieneś zapisywać danych w katalogu Application.app. Użytkownicy bez uprawnień administratora nie będą mieli nawet prawa do zapisu w tych katalogach.

5

Aby uzyskać katalogu, można użyć funkcji „NSSearchPathForDirectoriesInDomains” z parametrem katalogowym bycia „NSApplicationSupportDirectory” i parametr domainMask bycia „NSLocalDomainMask”.

(NSApplicationSupportDirectory jest „Lokalizacja plików Application Support”, natomiast NSLocalDomainMask oznacza „Local do bieżącego maszynowego miejscu zainstalowania przedmioty dostępne dla wszystkich na tym komputerze.”)

Powiązane problemy