Bry*_*yan 42 macos cocoa objective-c plist
在10.9上开发Cocoa应用程序时,我注意到如果我去~/Library/Preferences删除我的应用程序的plist文件(重置它),在下一次构建和运行时,该应用程序的行为就好像plist文件从未删除了.
我花了很长时间来追踪这种情况发生的原因,我没有在SO上看到关于它的问题/答案,所以我正在写这个问题并自己回答它来帮助别人.
Bry*_*yan 59
在10.9,系统正在做一些更强大的"缓存"偏好.删除plist文件后,我启动了Activity Monitor并强制终止了"cfprefsd"进程.注意:有多个进程运行此名称,您只想杀死在您自己的用户下运行的进程; 不要杀死以root身份运行的那个.
这样做似乎刷新了首选项缓存,并且在我的应用程序的下一次运行中,我得到了一个原始的从头开始的启动.
编辑:如下所述,defaults delete [your bundle identifier]在命令行使用也似乎消除了缓存问题.我在这方面取得了不一样的成功.
Tho*_*ann 10
顺便说一句,我刚刚发布了一个GUI应用程序,可能比使用defaults命令更方便:
http://www.tempel.org/PrefsEditor
它与Xcode的plist编辑器几乎相同,但直接影响用户的应用程序首选项.
要删除所有的首选项,您可以在我的首选编辑器中打开您的首选项,选择全部,然后使用退格键或删除键删除它们,它们立即全部消失.
但是,对于此特定任务,使用defaults delete可能仍然更快,特别是如果您将命令放入以".command"结尾的文本文件中,并使其可执行(with chmod +x).然后,您可以从Finder中双击它以执行它.
| 归档时间: |
|
| 查看次数: |
21820 次 |
| 最近记录: |