我正在运行Xcode 4.3.1 iOS模拟器,它最初只支持iOS 5.1。

我需要用iOS 4.3测试我的代码,所以我使用Xcode的“安装”功能来安装它,如“使用iOS 4.3设备模拟器安装Xcode ?”

现在我完成了测试,但找不到方法卸载4.3部分(“iPhone 4.3模拟器”和“iPad 4.3模拟器”)。我想减少方案菜单中的混乱。

苹果的Xcode列表中没有人知道答案!

编辑:注意自Xcode 4.3以来发生了很大的变化,所以建议正在阅读这篇文章的人看看所有的答案。最新的,如史蒂夫莫泽的可能对你更有用!

EDIT 10/2017:由Julio Carrettoni在Twitter上发布

如果你是iOS开发者,执行以下命令: $ xcrun simctl delete不可用 它删除了Xcode不再使用的旧模拟器。对我来说是6Gb 我自己没试过……

[另外,我刚刚看到Russ Bishop在下面的评论中提到了这一点…]


当前回答

在XCode中打开Window - Devices,然后选择并删除过时的模拟器。

其他回答

下面是一些答案,删除一些模拟器从我的Xcode菜单>窗口>设备>模拟器没有帮助我垂死的磁盘空间:

然而,cd ~/Library/Developer/Xcode/iOS\ DeviceSupport并运行du -sh *我得到了所有这些家伙:

2.9G    10.0.1 (14A403)
1.3G    10.1.1 (14B100)
2.9G    10.3.2 (14F89)
1.3G    10.3.3 (14G60)
1.9G    11.0.1 (15A402)
1.9G    11.0.3 (15A432)
2.0G    11.1.2 (15B202)
2.0G    11.2 (15C114)
2.0G    11.2.1 (15C153)
2.0G    11.2.2 (15C202)
2.0G    11.2.6 (15D100)
2.0G    11.4 (15F79)
2.0G    11.4.1 (15G77)
2.3G    12.0 (16A366)
2.3G    12.0.1 (16A404)
2.3G    12.1 (16B92)

加起来是33gb !

一场血战随之而来

点击这里查看更多细节

我写了一行bash脚本,可以删除你所有的模拟器:

xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 xcrun simctl delete

Xcrun simctl列表设备将列出您机器上安装的所有模拟器 grep - e - o - i”([0-9a-f] {8} - ([0-9a-f] {4}) {3} [0-9a-f]{12})”将抓住设备UUID xargs -L1 xcrun simctl delete将尝试删除它找到的每个UUID的设备

如果您想查看它将执行的所有内容,您可以在xcrun之前添加echo,即。

xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 echo xcrun simctl delete

您可以使用以下代码片段删除不可用的运行时:

echo "rm -rf $(xcrun simctl list runtimes -j |\
      jq ".runtimes[] | select(.isAvailable|not) | .bundlePath" | xargs)"

若要执行,请在末尾删除echo或添加| bash。

如果你没有jq命令可用,你可以使用brew install jq来获得它

在Xcode 6+中,你可以直接到菜单>窗口>设备>模拟器中删除你不需要的模拟器。

您可以做的另一件事是将Deployment目标更改为最高值。这将防止方案菜单显示旧版本。

要做到这一点,请到: Target->摘要然后更改部署目标。