在 macOS 上删除 App / NSUserDefaults 数据

Deleting App / NSUserDefaults data on macOS

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

在 iOS,如果我想删除应用程序的 NSUserdefaults,我会 tap/hold 我设备上的应用程序图标并将其删除。

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

注意:我的应用只出现在状态栏中(我的 info.plist 中有 Application is agent (..) = YES)

如果您试图删除您的首选项以重置它们,那么您需要使用 defaults 命令。 MacOS 对首选项使用缓存系统,删除首选项文件本身一直没有被 Apple 推荐很长时间。在终端输入:

defaults delete your.app.bundle.id

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

如果您想删除整个应用程序,则取决于它是否被沙盒化。先删除上面的首选项。

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

如果它不是沙盒,您必须单独删除您添加到路径中的任何内容,例如 ~/Library/Application Support

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

HTH

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

defaults delete com.apple.ScreenSaver.Engine.legacyScreenSaver

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