在10.9上开发Cocoa应用程序时,我注意到,如果我转到~/Library/Preferences并删除我的应用程序的plist文件(重置它),在下一次构建和运行时,该应用程序的行为就好像从来没有删除过plist文件一样.

我花了很长时间才弄明白为什么会发生这种情况,我没有看到关于它的问题/答案,所以我写下这个问题,自己回答,以帮助他人.

推荐答案

"9.9"系统的一些首选项更健壮.删除plist文件后,我启动活动监视器并强制终止"cfprefsd"进程.小心:有多个同名进程正在运行,你只想杀死在自己用户下运行的进程;不要杀死以root身份运行的用户.

这样做似乎会刷新首选项缓存,在下一次运行我的应用程序时,我会从零开始启动.

编辑:如下所述,在命令行中使用defaults delete [your bundle identifier]似乎也可以消除缓存问题.我在这方面取得了喜忧参半的成功.

Objective-c相关问答推荐

Objective-C:为什么[对象复制]的两个请求返回相同的结果?

Objective-C struct 的默认值以及如何测试

iphone - 防止uiscrollview通过滚动

防止其他程序员调用 -init 的最佳方法

indexOfObject 对比indexOfObjectIdenticalTo

ios 13 - 带有 UISearchBar _searchField 的自定义 SearchBar 不起作用

Objective-C 方法中的静态变量是否跨实例共享?

通过 ObjC 类别覆盖方法并调用默认实现?

UITableView configureCellForDisplay:forIndexPath 中的断言失败:

Electron邮件镇静 iOS 8

关闭一次后如何返回允许推送通知对话框?

立即检测 iOS 方向变化

如何将 NSOperationQueue 与 NSURLSession 一起使用?

如何设置 NSPredicate 来查找具有 nil 属性的对象

可变集合有文字语法吗?

如何创建 .dSYM 文件?

如何在 Cocoa 中获取当前日期

使 UILabel 的文本加粗

iOS:开源 VoIP/SIP Objective-C 代码

如何获得设备的比例因子?