如何在使用Xcode 9.3进行iOS开发时检查[NSUserDefaults standardUserDefaults]?

6
在Xcode 9.3和iOS模拟器中,[NSUserDefaults standardUserDefaults]将值存储在以下位置:

/Users/{用户名}/Library/Developer/CoreSimulator/Devices/{设备GUID}/data/Containers/Data/Application/{应用程序GUID}/Library/Preferences/{包标识符}.plist

我可以轻易地打开.plist文件并查看这些值。但是,在运行于开发设备时,如何检查这些值?是否可以像模拟器一样在已开发的设备上检查这些值?

2
有没有特别的原因直接打开 PList 而不是只使用 NSUserDefaults?如果你只需要查看存储的内容,使用 dictionaryRepresentation() 将会给你所有信息:for (key, value) in UserDefaults.standard.dictionaryRepresentation() { print("\(key) = \(value)") } - Alejandro Iván
1
@Krunal 是的,这解决了我的问题。谢谢。 - Simant
1个回答

8
您无法直接访问它。苹果不允许从设备中的任何外部来源访问iOS应用程序的此类数据(和/或文件)。
只有应用程序开发人员可以通过编程方式访问它。 (市场上有一些软件可以使用越狱设备打开/访问IPA文件。)
请参阅此苹果文档:iOS安全-文件数据保护。 (在此文档中,关于文件和数据安全的详细信息,但没有直接回答您的问题。)
但是,如果您是此应用程序的开发人员,则可以从 AppData首选项中找到它。
按照以下步骤查找它:
  1. 打开 设备和模拟器 窗口 (Xcode (菜单) >> 窗口 >> 设备和模拟器)。
  2. 从连接的设备列表中选择您的 iOS 设备。
  3. 从已安装应用程序的列表中选择一个应用程序。
  4. 单击应用程序的 设置 图标
  5. 选择 下载容器,然后提示您保存文件。
  6. 保存您的文件 (文件扩展名 - .xcappdata)

enter image description here

  1. 右键单击文件,选择显示包内容

enter image description here

  1. 一个查找窗口将会显示出文件的AppData路径。
  2. 前往:AppData >> Library >> Preferences >> <file>.plist
  3. 大功告成:这就是你要找的UserDefault存储文件。打开它并检查你的数据。

enter image description here


1
抱歉,但这个答案是不正确的 - 至少当涉及到您正在开发的应用程序时。 - rmaddy
2
谢谢!这对我的真实开发设备有效。我能够使用Xcode 11.4.1读取UserDefaults文件。 - Bruno Bieri
1
确认过了,这个方法可以查看从实际设备下载的UserDefaults文件。真是疯狂,需要这么多步骤才能查看一个快照。 - cevaris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接