重置iOS Simulator应用程序数据以首次运行应用程序


73

我刚写完一些代码,检查它是否是第一次运行该应用程序,然后显示一条消息,如果不是第一次运行,则显示另一条消息。

如何在Xcode上重置模拟器,以便在首次运行该应用程序时对其进行测试?

我尝试清理构建文件夹,但是没有用。

Answers:


114

在iPhone模拟器,按iPhone模拟器在屏幕的顶部,然后按菜单中的“重置内容和设置... ”。这将清除整个模拟器。

或者,在模拟器的主屏幕上,以与在物理设备上相同的方式卸载应用程序,方法是按住应用程序图标,直到左上方出现“ x ”,然后按“ x”,然后从警报视图中选择“删除”。这将清除与单个应用程序关联的所有数据。

然后进行清理,构建并运行。

编辑:

从Xcode 11+ Simulator开始,它位于Device> Erase All Content and Settings下


5
“重置内容和设置”应作为最后的选择。它擦除了整个模拟器,导致其iOS副本需要很长的启动时间。并且它会擦除所有数据库,包括您可能已添加到其照片库的任何图像等。删除该应用程序的速度要快得多,并且仅擦除应用程序的内容。
David C.

2
这取决于您要擦除的数据类型。例如,如果您要删除该应用程序所依赖的第三方登录凭据,则仅删除该应用程序是不够的。但是,如果不是这种情况,则将应用程序删除为@DavidC。建议完美。
工艺

4
更新:更改为硬件>删除所有内容和设置...
Gal Bracha

2
更新:更改为设备>删除所有内容和设置
Paolo

34

在XCode中执行此操作的正确方法是:(必须首先关闭模拟器)

xcrun simctl erase <device UDID> 要么 xcrun simctl erase all

要查找UDID,请使用:

xcrun simctl list


注意,模拟器必须关闭才能正常工作。意味着Simulator> Reset Contents and Settings ...选项使该命令变得多余
Daniel Wilson


4

@Tim的答案可能更易于交互使用。

我们使用脚本进行自动化测试,并删除模拟器的数据目录以确保其干净。模拟器在重新启动时将重新创建基本信息。

删除以下内容:

~/Library/Application Support/iPhone Simulator/${simulator.version}


如果我没记错的话。在最新的iOS 8模拟器中,路径已更改。
Paul Brewczynski 2015年

3
看起来路径是Xcode 7.3中的〜/ Library / Developer / CoreSimulator / Devices
格雷格·布朗

2

真的不知道这是否是最好的方法,但是以下方法对我有用:

首先杀死所有正在工作的模拟器

killall Simulator 2>&- && sleep 5 || true

之后重置所有设备

xcrun simctl erase all

ps:我正在使用XCode 8

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.