在Mac OS X 10.10.3下删除用户默认设置


9

短时间以来(我(自MacOS X 10.10.2起猜测),我能够NSUserDefaults通过via 清除设置

defaults delete ~/Library/Preference/<my app>.plist

但是突然之间它不起作用,而且我的设置似乎超级持久。我还手动清除了“保存的设置”下的所有内容,并为“容器”发出了上述命令(尽管沙箱已关闭以进行测试)。

还有什么可以保留我的设置?我想下次重新启动可能会清除它,但我想避免将来重新启动。

PS设置甚至在重启后仍然存在:-(


路径中的目录应为“首选项”复数。
2015年

@Spiff,是的。这是一个错字
qwerty_so 2015年

Answers:


17

首先,在使用时defaults,必须.plist与文件名defaults分开-它始终添加该文件名,因此,如果还提供文件名,则将尝试删除“ <我的应用程序> .plist.plist”。

其次,我认为当您指定首选项文件的完整路径时,您会绕过cfprefsd,它(除其他事项外)会缓存最近使用的首选项。您应该只使用defaults delete <my app>,或者killall cfprefsd在删除首选项之前(但在退出应用程序之后)运行。

请注意,如果应用被沙盒化,defaults则是删除首选项的错误方法-只是kill cfprefsd,然后用于rm删除应用的整个沙盒容器(rm ~/Library/Containers/<my app>)或仅删除其首选项文件(rm ~/Library/Containers/<my app>/Data/Library/Preferences/<my app>.plist


我的天啊。我绝对确定我一直在使用plist。一旦我不使用后缀,它就会起作用。谢谢!而且我也不知道我可以(应该)离开完整的道路。没有路径,它甚至可以工作(甚至更好)。再次感谢您:-)
qwerty_so 2015年

1

签入~/Library/Containers/

我认为沙盒(App Store)应用必须立即将其内容存储在此处。


很难过:它不是沙盒,我也清除了。
qwerty_so 2015年

谢谢。这帮助了我!我想知道为什么即使删除该应用程序并在MacOS上重新安装后,我的默认设置也能恢复。
Vikram Rao
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.