如何在 OS X 应用程序中重置内容和设置?

Posted

技术标签:

【中文标题】如何在 OS X 应用程序中重置内容和设置?【英文标题】:How to reset Contents and Settings in an OS X app? 【发布时间】:2012-04-30 04:46:52 【问题描述】:

我需要在我的 OS X 应用程序中按数据库和用户默认值重置。我该怎么做?在 ios 应用中,我们有一个类似“重置内容和设置”的选项。但是当我运行 OS X 应用程序时,我没有看到这样的选项。我现在正在做的是,深入到 /users/library 并删除我的项目文件夹下的 .storedata 文件。但是使用这种方法,我无法重置我的 userdefaults 值。有没有其他的出路?我是 OS X 编程新手。

提前致谢!

【问题讨论】:

【参考方案1】:

您需要手动将 NSUserDefaults 的值设为 nil 并一起删除数据库,然后重新创建它。最好的选择是包含一个空数据库,如果它不存在,则将其复制到 Library 文件夹(或您访问它的任何地方)。

【讨论】:

谢谢你!这正是我现在正在做的事情。我正在寻找可以执行这两种操作的“单按钮操作”。 您可以使用“单按钮操作”并执行这两项任务。 @WrightCS。您的意思是我们可以通过自己编写代码来实现吗?但这不是我想要的。我正在 xcode 中寻找类似 iphone 的“重置内容和设置”选项。关键是我可能需要经常启动一个新的应用程序。那时我可能需要重置所有这些值。如果 xcode 为我提供“重置内容和设置”会非常有帮助。但正如您所提到的,不幸的是 Xcode 没有为 OS X 应用程序显示此选项 :-( 我们需要手动完成所有这些操作 是的,没有神奇的功能。你需要自己写这个。欢迎编程。【参考方案2】:

我在 DebugViewController 中有这个:

- (void)removeUserDefaults 
  [[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];

然后我可以使用 Button-Press 删除 UserDefaults。

【讨论】:

以上是关于如何在 OS X 应用程序中重置内容和设置?的主要内容,如果未能解决你的问题,请参考以下文章

在 OS X 上的 IntelliJ 中,如何清除所有全局设置信息、许可等(任何项目外部)

如何在模拟器中重置钥匙串?

在 OS X 上重置 mysql 服务器 root 密码

如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以分发?

如何在 Mac OS X 上设置已保存文档的 kMDItemKind?

如何调试旧版Mac OS X的应用程序?