有没有办法直接看到什么被保存到NSUserDefaults ?我想看看我的数据保存是否正确。
当前回答
Swift 5 Xcode 11.2解决方案
这是您的UserDefaults键值将在plist文件中的整个路径。跟踪并找到你的应用程序包标识符。plist文件。
/Users/'您的用户名'/Library/Developer/CoreSimulator/Devices/4176EED3-B9FC-4C77-A25E-ASD201B9FDFG2/data/Containers/ data/ Application/56D7CE31-9A8B-4371-9B0F-9604E239423B0/Library/Preferences
这里的“4176EED3-B9FC-4C77-A25E-ASD201B9FDFG2”是您的设备ID
“56D7CE31-9A8B-4371-9B0F-9604E239423B0”是您的申请ID
我通常通过在查找器中根据最近修改的日期对文件夹进行排序来获得它们。最近编辑的文件夹是我的设备ID和应用ID。
享受吧!
其他回答
寻找名为simholds2的Mac应用程序。它位于菜单栏中,列出你使用过的所有模拟器,然后显示每个应用程序。选择一个,你会得到一个新的Finder窗口,已经打开到应用程序的目录。这使得它超级容易找到你的应用程序和所有的目录。这是一个巨大的时间节省(我愿意捐赠给作者)。
您可以使用它来获得用户首选项、缓存和许多其他数据的完整路径
print (NSSearchPathForDirectoriesInDomains(。文件目录。
对于希望找到存储在模拟器中的首选项的新位置的用户。 这是我找到存储值的地方。
/Users/vikas/Library/Developer/CoreSimulator/Devices/CE5A0444-BD98-4FEE-A839-92728D6E9895/data/Containers/Data/Application/F7430839-ED2C-408A-8A8E-FE7FFAABA8E2/Library/Preferences
因为我们可以看到有很大的标识符,很难从终端猜出来,所以我建议在终端或finder中搜索它们。
文件名应该以{bundle id}结尾。Plist,例如com.sellerbuddy.online.plist,这样你就可以直接进入终端,输入你的应用程序包标识符。
find ~/Library/Developer/CoreSimulator/Devices -type f -name "com.sellerbuddy.online.plist"
你可以在模拟器中找到你的应用的pList文件,如果你去:
/users/你的用户名/库/应用程序支持/iPhone模拟器/<Sim版本>/应用程序
这个目录有很多以GUID命名的目录。如果你正在开发一些应用程序,就会有一些这样的应用程序。所以你需要找到你的应用二进制:
find . -name foo.app
./1BAB4C83-8E7E-4671-AC36-6043F8A9BFA7/foo.app
然后进入GUID目录下的Library/Preferences目录。所以:
cd 1BAB4C83-8E7E-4671-AC35-6043F8A9BFA7/Library/Preferences
你应该会找到这样一个文件:
<Bundle Identifier>.foo.pList
在pList编辑器中打开它,并浏览您想要的持久值。
在Swift 2.2中
let path = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true)
let folder = path[0]
NSLog("Your NSUserDefaults are stored in this folder: \(folder)/Preferences")
将打印出NSUserDefaults在Xcode调试控制台的plist文件夹位置。复制路径字符串。打开Finder,选择Go菜单项中的“转到文件夹”,粘贴路径字符串。双击plist文件。你会在Xcode编辑器中看到内容。
只能在模拟器中工作
谢谢@Niels Castle
推荐文章
- 如何删除默认的导航栏空间在SwiftUI导航视图
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 如何在iOS中使用Swift编程segue
- Swift -整数转换为小时/分钟/秒
- Swift:声明一个空字典
- “你有邮件”的消息在终端,os X
- 为什么ARC仍然需要@autoreleasepool ?
- Mac OS X中的环境变量
- 在成功提交我的应用程序后,“太多符号文件”
- 首先添加一个UIView,甚至是导航栏
- 我如何改变UIButton标题颜色?
- 如何从macOS完全卸载蟒蛇
- 在Swift中如何调用GCD主线程上的参数方法?
- NSLayoutConstraints是可动画的吗?