2009-01-03 85 views
34

我注意到在OSX上,安装经常拖放一个文件有点儿交易。我假定该文件是所有应用程序必需位的存档,并且应用程序直接从该文件运行。应用程序在哪里存储配置数据,特别是当有多个用户时,每个用户设置?在Windows上,这种类型的内容可能会在HKLU或HKLM的注册表中或用户或所有用户的Application Data文件夹中。OSX应用程序通常在哪里存储用户配置数据?

回答

59

In/Users/username/Library/Preferences。您还会看到一些内容位于/ Users/username/Library/Application Support中。

这两个文件夹在/ Users之外都有对应的全局位置,即在/ Library下。然而,由于显而易见的原因,这些似乎被应用程序使用得非常少。

OSX本机应用程序首选项的格式通常是.plist(属性列表)文件,其名称采用反向域名语法。有一个名为Property List Editor的独立应用程序,允许您查看和编辑这些文件。 (我认为它是XCode/developer-tools下载的一部分。)当然,没有什么可以阻止你使用你自己的偏好存储系统,而且大多数跨平台的应用程序往往会这样做,但偏好仍然应该放置在/ Users/username/Library/Preferences目录中。

编辑:如果你正在编写面向Mac的软件和您正在使用Cocoa框架,那么苹果有这个文件的可可API与存储和检索偏好设置交易的一部分:User Defaults Programming

+0

无论您使用的是Cocoa还是Carbon,都有API(NSUserDefaults和CFPreferences)用于存储和检索您应该使用的首选项数据,而不是操作文件。这可让您的应用与例如政策管理,家长控制等。 – 2009-01-04 01:48:28

8

作为危害'答案的附录,我会注意到,与Windows注册表一样,在删除应用程序时,故意不删除OS X首选项,但与Windows注册表不同,它不同于Windows注册表,首选项可以从机器迁移到机器Mac并使用“用户迁移”工具。

这会导致令人惊讶的结果,例如安装“NeatoApp 2008”并发现它知道您为“NeatoApp 2003”选择的所有设置,即使2003版本从未安装在当前计算机上。

5

/Users/username/Library/Containers/Users/username/Library/Group Containers 是需要寻找的地方。

相关问题