OS X 10.9 上的 QSettings - 无法找到/清除它

Posted

技术标签:

【中文标题】OS X 10.9 上的 QSettings - 无法找到/清除它【英文标题】:QSettings on OS X 10.9 - unable to locate/clear it 【发布时间】:2013-11-13 13:55:13 【问题描述】:

我有一个在 OS X 10.9 上运行的基于 Qt (4.8.5) 的应用程序。该应用程序使用 QSettings 类指定应用程序名称和公司。 Plist 文件由 QSetttings 创建,位于:

~/Library/Preferences/com.company_name.app_name.plist

该应用在保存/恢复首选项方面运行良好。然后我退出应用程序,删除 *.plist 文件,再次运行应用程序,瞧——它恢复了它的首选项! 基于什么文件?热删除它?

我无法在 QSettings 类的 Qt 文档中找到答案。

【问题讨论】:

您确定它会恢复其首选项还是实际上重置为 默认 值? source code 是您找到答案的地方 :) 是的,我确定它不会重置为默认值。源代码的链接很棒,但我认为它也与 Mac 中的应用沙盒有关。 在 MacOS 10.11 上仍会观察到此行为。 关于同样的问题,另请参阅this SO thread。 【参考方案1】:

在 10.9(及更高版本)中,.plist 文件为 cached。 因此,一旦您删除了 .plist 文件,就必须刷新缓存。注销或在终端中执行以下命令:

killall -u yourusername cfprefsd

【讨论】:

在 10.11 上,注销似乎不起作用,但命令可以。谢谢!

以上是关于OS X 10.9 上的 QSettings - 无法找到/清除它的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 NaN 在哪里传递给 Mac OS X 10.9 上的 CoreGraphics API

在 migratePersistentStore: 到 OS X 10.9 Mavericks 上的另一个 URL 后访问 NSManagedObject 属性时崩溃

OS X 10.9 Mavericks - 使用虚拟主机设置本地主机

Java applet无法在Safari 7下打开文件(Mac OS X 10.9)

在 OS X 10.9 上快速查看不再显示标题、艺术家和专辑 mp3 标签

在 OS X 10.9 (Mavericks) 上安装 Java