使用真实iPhone作为测试设备时,如何清除UserDefaults数据?
解决真机测试时清除UserDefaults数据的无代码/无卸载方案
嘿,我之前在真机测试UserDefaults持久化的时候也碰到过一模一样的问题——重新构建App后数据居然还留着,想清掉又不想卸载重装,这几个办法亲测好用,完全不用加额外代码:
方法一:通过Xcode设备管理窗口清除容器
这是最直观的图形界面操作,适合不想碰命令的同学:
- 打开Xcode,顶部菜单栏选择
Window→Devices and Simulators(快捷键:Shift+Command+2) - 在左侧设备列表里选中你的测试iPhone,右侧切换到
Installed Apps标签 - 找到你的测试应用,点击应用列表下方的「...」按钮
- 先选
Download Container备份一下当前数据(可选但推荐,以防万一) - 再点击「...」选择
Delete Container,确认后就能清除App的所有沙盒数据(包括UserDefaults) - 重新构建运行App,数据就完全重置了
方法二:用LLDB调试命令临时清空
这个方法更灵活,不用中断太多运行流程:
- 把App运行到真机上,在Xcode里暂停调试(可以点调试栏的暂停按钮,或者随便设置一个断点触发暂停)
- 打开底部的
Debug Console面板 - 输入以下LLDB命令并回车:
po UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!) - 点击继续运行按钮,App里的UserDefaults数据就被清空了,全程不用修改代码,也不用卸载App
这两个方法都能满足你的需求,根据自己的习惯选就行~
内容的提问来源于stack exchange,提问作者Hyung Duc Da
相关产品推荐
相关产品推荐

