Я планирую разработать межплатформенный сценарий. На Linux и других операционных системах, это сохранит конфигурацию в XDG_CONFIG_HOME
и файлы данных (а именно, загруженные плагины) в XDG_DATA_HOME
. В Windows это будет использовать APPDATA
для обоих (если у кого-то нет лучшей идеи). Однако, каков был бы правильный поступок на Mac OS X?
На моем первом взгляде через удобный MacBook ~/Library
каталог, я видел Preferences
и Application Support
папки. Я первоначально планировал использовать их, но Preferences
кажется, просто содержит plists с обратными доменными именами как com.apple.foo.bar.baz.plist
, и каждая папка в Application Support
соответствует пакету в /Applications
, таким образом, я не уверен, как хорошо система реагировала бы на файлы, которые не соответствуют ее стандартам. Хранение их непосредственно в ~/Library
могла бы быть опция, но я не хочу загрязнять ее случайным myscript.conf
файл, если существует лучшее место для него.
Где я должен хранить эти файлы? (И не говорите просто ~/.myscript
. Я знаю, что это - традиция Unix, но меня раздражает видеть случайный dotfiles в корневом каталоге.)
Я бы использовал ~ / Library / Application Support / script_name /
. Подкаталоги внутри Application Support
обычно используются различными приложениями, включая собственное программное обеспечение Apple. Но это не выполняется ОС и не привязано к приложениям внутри / Applications
. Таким образом, вы совершенно свободны создать в нем свой собственный каталог.
Для общей структуры каталогов OS X см. этот документ Apple .