配置文件的默认位置 - MacOS?
Posted
技术标签:
【中文标题】配置文件的默认位置 - MacOS?【英文标题】:Default location for configuration files - MacOS? 【发布时间】:2013-03-18 15:04:47 【问题描述】:在跨平台应用程序中,我正在使用一个配置文件,该文件允许用户根据需要覆盖各种默认值。
我遇到的问题是...在哪里放置/查找此配置文件,尤其是对于 MacOS X(我从未使用过且无权访问)?我知道 MacOS X 是基于 Unix 的,但我也知道那里的很多事情都非常不同......
我目前的选择:
Unix:
~/.config/<appname>/<appname>.cfg
Windows(对于这个也有点不确定,这里似乎到处都是 - %LOCALAPPDATA% 或 %USERPROFILE% 似乎也是有效的选择):
%APPDATA%/<appname>/<appname>.cfg
MacOS:
...?
任何 cmets,在 MacOS 或我的其他选择上?
【问题讨论】:
但是应该注意的是,对于 Unix,首选路径实际上是$XDG_CONFIG_DIR:-$HOME/.config/<appname>/<appname>.cfg
。 ~/.config
只是 $XDG_CONFIG_HOME
的默认值。
@alexander255:哇,非常好的发现,谢谢!对于任何像我一样乍一看感到困惑的人,XDG_CONFIG_DIR 指的是 freedesktop.org 的规范,以前是“X Desktop Group”(因此是“XDG”)。
【参考方案1】:
我想一定是~/Library/Application Support/<appname>/<appname>.cfg
请参阅Mac App Programming Guide 中的表格:“Mac 应用程序环境”->“运行时环境的低级详细信息”->“文件系统”。
【讨论】:
不必那样做,特别是如果它只是一个简单的可移植命令行应用程序。 @RandyHoward:它不完全是一个“简单的命令行应用程序”。这就是为什么我想知道 Mac 用户会期望配置文件在哪里,而不是仅仅将它存储在某个地方并告诉用户应对。 ;-) 我的意思是,它不是一些大型的 OS X Gui cocoa 应用程序,它期望事情以特定于平台的方式完成。如果您的应用程序可以在 OS X、UNIX 和 Windows 平台上运行,它显然不是“Mac 应用程序”。我坚持我的回答,基本上是简单的。 @RandyHoward 您可以将文件存储在用户主目录下的任何位置。问题是用户期望他们在哪里。 不担心复选标记。我的观点更多的是预期的行为。作为应用程序的“用户”,我希望它的配置方法与其应用程序类型保持一致。如果它是一个 OS X GUI 应用程序,我希望有一个首选项窗格,例如,可以从您可以按照上面为 Unix/Linux 显示的相同方式存储它。
~
对于 OS X 上的主目录的工作方式与 UNIX 平台相同。 .
在隐藏目录的名称中也是如此。
鉴于您描述的跨平台需求,我会在 OS X 上以与您的 UNIX 示例完全相同的方式执行此操作。
【讨论】:
以上是关于配置文件的默认位置 - MacOS?的主要内容,如果未能解决你的问题,请参考以下文章