Настройки приложения в macOS обычно сохраняются где-то в ~ / Library: общие места для ~ предпочтений ~ / Library / Preferences / com.example.mycoolgame.plist (должен быть в формате plist, а com.example.mycoolgame должен быть действительный идентификатор пакета, которым вы владеете (вы должны владеть доменом)). Преимущество / недостаток этого пути заключается в том, что опытные пользователи знают об этом каталоге и могут редактировать файлы там, где пожелают.
Тогда у вас есть ~ / Library / Caches для кэшированных данных. Все кэшированные данные должны быть размещены где-то под этим каталогом. (Никогда не используйте его для содержимого, которое не может быть восстановлено или повторно загружено.)
~ / Library / ApplicationSupport / YourApplicationName / ...: здесь вы можете делать все что угодно. Было бы хорошо, если бы «YourApplicationName» было бы глобально уникальным в этом случае. Так что лучше сделайте это долго. Пользователи обычно не видят содержимое файловой системы чего-либо ниже «~ / Library», поэтому короткие имена не нужны.
Конечно, вы также можете поместить свои сохраненные игры в ~ / Documents / MyCoolGame / savegames и сообщить пользователю, что вы сохраняете игры там.
Понятно (возможно): я не уверен, что системные API должным образом расширяют "~". Я думаю, что, вероятно, нет: вызов fopen с путем, начинающимся с "~", скорее всего, не будет правильным. Каталог users находится в чем-то вроде «/ Users / max», поэтому «~» раскрывается до «/ Users / max» в командной строке, если имя пользователя «max».
Я не могу ответить на ваш первоначальный вопрос "Какие каталоги в Linux есть у MacOS?" потому что у меня сейчас нет коробки с Linux, и я не думаю, что она будет полезна для вашего случая использования.
Для глобальных данных также существует иерархия «/ Библиотека». Но обычные пользователи не имеют доступа к этому месту, поэтому вашей игре нужно будет запрашивать права администратора, что сделает все намного сложнее, и это будет неприемлемо для пользователей MacOS. Способ macOS состоит в том, чтобы иметь автономный пакет приложений и помещать все пользовательские или временные данные в соответствующее место в домашней папке пользователя.