如何使用 Xcode 9.3 在 iOS 开发设备中检查 [NSUserDefaults standardUserDefaults] [重复]

Posted

技术标签:

【中文标题】如何使用 Xcode 9.3 在 iOS 开发设备中检查 [NSUserDefaults standardUserDefaults] [重复]【英文标题】:How to check [NSUserDefaults standardUserDefaults] in iOS development device with Xcode 9.3 [duplicate] 【发布时间】:2018-05-16 14:15:07 【问题描述】:

在 Xcode 9.3 和 ios 模拟器中,[NSUserDefaults standardUserDefaults] 将值存储在:

/Users/用户名/Library/Developer/CoreSimulator/Devices/Device GUID/数据/容器/数据/应用程序/应用程序 GUID/Library/Preferences/bundle identifier.plist

我可以轻松打开 .plist 文件并查看值。

但是,当应用在开发设备中运行时,我如何检查这些值?是否可以在像模拟器这样的开发设备中检查这些值?

【问题讨论】:

有什么特别的理由直接打开 PList 而不是只使用NSUserDefaults?如果您只需要查看存储的内容,使用 dictionaryRepresentation() 将为您提供一切:for (key, value) in UserDefaults.standard.dictionaryRepresentation() print("\(key) = \(value)") @Krunal 是的,这解决了我的问题。谢谢 【参考方案1】:

您不能直接访问它。 Apple 不允许从设备访问 iOS 应用程序(对于任何外部来源)的此类数据(和/或文件)。

只有应用程序开发人员才能以编程方式访问它。 (市场上有一些软件可以使用越狱设备打开/访问 IPA 中的文件。)

请参阅此 Apple 文档:iOS Security - File Data Protection。 (在此文档中,您的问题没有直接答案,但有关文件和数据安全的完整详细信息。)

但如果你是这个应用的开发者,那么你可以从AppData Preferences找到它。

按照以下步骤找到它:

    打开Device and Simulator窗口(Xcode(菜单)>>窗口>>设备和模拟器)。 从已连接设备列表中选择您的 iOS 设备。 从已安装应用列表中选择一个应用。 点击应用程序Settings图标 选择Download Container,将提示您保存文件。 保存您的文件(文件扩展名 - .xcappdata)

    右键单击文件并选择Show Package Contents

    查找器窗口将显示文件AppData 的路径。 转至:AppData >> Library >> Preferences >> <file>.plist Bingo:这就是你要找的。 UserDefault 存储文件。打开它并检查您的数据。

【讨论】:

抱歉,这个答案不正确 - 至少对于您正在开发的应用程序而言。 谢谢!这对我真正的开发设备有用。我能够使用 Xcode 11.4.1 读取 UserDefaults 文件。 已确认,这适用于查看从实际设备下载的 UserDefaults 文件。疯狂查看快照需要多少步骤。

以上是关于如何使用 Xcode 9.3 在 iOS 开发设备中检查 [NSUserDefaults standardUserDefaults] [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 9.2 不支持 iOS 11.3 的 Xcode 需要 9.3

iOS开发周报:Xcode 7.3 beta 和 iOS 9.3 beta 发布,是否会带来教育行业的改变

在 ios-9.3 上运行良好的应用程序,但是当我在任何具有 IOS-10 的设备上运行它时,它会在随机点崩溃

Xcode 9.3 无法查看实时设备日志

找不到开发人员磁盘映像堆栈溢出 xcode 7.2,iOS 9.3.1 [重复]

如何在 swift 4.1 和 xcode 9.3 中使用 JSONDecoder 解码嵌套的 JSON 数组和对象?