【问题标题】:Default location for configuration files - MacOS?配置文件的默认位置 - 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}/&lt;appname&gt;/&lt;appname&gt;.cfg~/.config 只是 $XDG_CONFIG_HOME 的默认值。
  • @alexander255:哇,非常好的发现,谢谢!对于任何像我一样乍一看感到困惑的人,XDG_CONFIG_DIR 指的是 freedesktop.org 的规范,以前是“X Desktop Group”(因此是“XDG”)。

标签: macos app-config configuration-files


【解决方案1】:

我想一定是~/Library/Application Support/&lt;appname&gt;/&lt;appname&gt;.cfg
请参阅Mac App Programming Guide 中的表格:“Mac 应用程序环境”->“运行时环境的低级详细信息”->“文件系统”。

【讨论】:

  • 不必那样做,特别是如果它只是一个简单的可移植命令行应用程序。
  • @RandyHoward:它不完全是一个“简单的命令行应用程序”。这就是为什么我想知道 Mac 用户会期望配置文件在哪里,而不是仅仅将它存储在某个地方并告诉用户应对。 ;-)
  • 我的意思是,它不是一些大型的 OS X Gui cocoa 应用程序,它期望事情以特定于平台的方式完成。如果您的应用程序可以在 OS X、UNIX 和 Windows 平台上运行,它显然不是“Mac 应用程序”。我坚持我的回答,基本上是简单的。
  • @RandyHoward 您可以将文件存储在用户主目录下的任何位置。问题是用户期望他们在哪里。
  • 不担心复选标记。我的观点更多的是预期的行为。作为应用程序的“用户”,我希望它的配置方法与其应用程序类型保持一致。如果它是一个 OS X GUI 应用程序,我希望有一个首选项窗格,例如,可以从 - 访问。如果它是一个命令行工具,几乎不管复杂性如何,我都希望通过埋在我的主目录下的启动文件来配置它,或者可能是 /etc/something。这是关于使产品与用户期望相匹配。不管怎样,很高兴你觉得你在这里得到了帮助。
【解决方案2】:

您可以按照上面为 Unix/Linux 显示的相同方式存储它。

~ 对于 OS X 上的主目录的工作方式与 UNIX 平台相同。 . 在隐藏目录的名称中也是如此。

鉴于您描述的跨平台需求,我会在 OS X 上以与您的 UNIX 示例完全相同的方式执行此操作。

【讨论】:

    猜你喜欢
    • 2012-12-21
    • 2013-02-07
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2020-12-12
    • 2013-07-18
    相关资源
    最近更新 更多