QSettings在OS X 10.9上无法定位/清除

11

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

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

该应用程序在保存和恢复首选项方面表现良好。然后,我退出应用程序,删除*.plist文件,再次运行应用程序,它就恢复了其首选项!基于什么文件?如何删除它?

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


你确定它恢复了它的偏好设置,还是实际上重置为默认值了? - vahancho
你可以在源代码中找到答案 :) - Kuba hasn't forgotten Monica
是的,我确定它不会重置为默认值。源代码链接很棒,但我认为它也与Mac中的应用程序沙盒有关。 - Thomas
这种行为在MacOS 10.11上仍然存在。 - normanius
请参见关于相同问题的此 SO 线程 - normanius
1个回答

18
在10.9及以上版本中,.plist文件被缓存。因此,一旦您删除了一个.plist文件,缓存必须被刷新。要么注销,要么在终端中执行以下命令:
killall -u yourusername cfprefsd

在10.11版本中,注销似乎无法正常工作,但命令可以执行。谢谢! - vpicaver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接