删除 macOS 上的应用程序/NSUser默认值数据



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

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

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

注意:我的应用程序仅显示在状态栏中(我在我的 info.plist 中有应用程序是代理 (..) = 是)

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

defaults delete your.app.bundle.id

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

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

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

如果未沙盒化,则必须单独删除已添加到路径的任何内容,例如~/Library/Application Support等。

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

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

defaults delete com.apple.ScreenSaver.Engine.legacyScreenSaver

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

最新更新