重置iOS模拟器应用程序数据以首次运行应用程序

问题描述 投票:0回答:6

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

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

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

xcode ios-simulator
6个回答
152
投票

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

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

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

编辑:

从 Xcode 11+ 模拟器开始,这位于设备 > 擦除所有内容和设置下


46
投票

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

xcrun simctl shutdown <device UDID> && xcrun simctl erase <device UDID>

xcrun simctl shutdown all && xcrun simctl erase all

要查找 UDID,请使用:

xcrun simctl list

25
投票

目前(模拟器版本10.0),您可以通过以下方式进行:

硬件 > 删除所有内容和设置...


4
投票

@Tim 的答案可能更适合交互式使用。

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

删除以下内容:

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


3
投票

所有答案都是如何删除应用程序,或者如何删除所有模拟器内容和设置。如果您只想删除特定模拟器应用程序的内容和设置,请找到以下文件夹并将其删除:

~/Library/Developer/CoreSimulator/Devices/{DEVICE_UDID}/data/Containers/Data/Application/{APP_UDID}

其中 {DEVICE_UDID} 是特定模拟器的标识符,{APP_UDID} 是特定应用程序的标识符。


2
投票

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

首先杀死所有正在运行的模拟器

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

然后使用

重置所有设备

xcrun simctl erase all

ps.:我正在使用 XCode 8

© www.soinside.com 2019 - 2024. All rights reserved.