在 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
删除您的屏幕保护程序设置。这可能会清除所有安装的自定义屏幕保护程序的所有设置,但我找不到其他方法。
我来自 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
删除您的屏幕保护程序设置。这可能会清除所有安装的自定义屏幕保护程序的所有设置,但我找不到其他方法。