删除macOS上的App / NSUserDefaults数据

时间:2017-02-02 20:30:38

标签: macos cocoa nsuserdefaults macos-sierra

我来自iOS开发背景,并在Swift中编写我的第一个MacOS应用程序。

在iOS上,如果我要删除应用的NSUserdefaults,我会点击/按住设备上的应用图标并将其删除。

但是,在MacOS上,我在应用程序文件夹中看不到我的应用程序图标。我错过了什么?

注意:我的应用程序只出现在状态栏中(我的应用程序是我的info.plist中的代理(..)= YES)

3 个答案:

答案 0 :(得分:36)

如果您尝试删除首选项以重置它们,则需要使用defaults命令。 MacOS使用缓存系统进行首选项,并且Apple长期以来一直没有推荐删除首选项文件本身。在终端输入:

defaults delete your.app.bundle.id

这将删除文件和任何缓存设置。

如果您希望删除整个应用程序,那么这取决于它是否为沙盒。首先删除上面的首选项。

如果是沙盒,则删除目录~/Library/Containers/your.app.bundle.id

如果没有沙盒,则必须逐个删除您添加到路径中的所有内容,例如~/Library/Application Support等。

在这两种情况下,您都需要删除name.app文件本身。

HTH

答案 1 :(得分:1)

作为对最终遇到这个问题的我这样的人的补充说明,如果您要开发macOS屏幕保护程序并将配置设置存储在UserDefaults中,则需要这样做

defaults delete com.apple.ScreenSaver.Engine.legacyScreenSaver

删除屏幕保护程序设置。这可能会清除所有已安装的自定义屏幕保护程序的所有设置,但我找不到其他方法。

答案 2 :(得分:0)

这只意味着它在Finder的另一部分。在所有Finder中搜索它(可以使用SpotLight搜索查看),然后移至垃圾箱。