我正在运行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 ->到窗口(从菜单栏)->设备和模拟器 ——>单击模拟器——>右键单击要删除的模拟器——>单击删除 删除任何不需要的模拟器,你过去安装作为一个额外的组件通过Xcode。

打开终端 输入open /Library/Developer/CoreSimulator/Profiles/Runtimes 删除不需要的模拟器

其他回答

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

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

我写了一行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

打开Xcode ->到窗口(从菜单栏)->设备和模拟器 ——>单击模拟器——>右键单击要删除的模拟器——>单击删除 删除任何不需要的模拟器,你过去安装作为一个额外的组件通过Xcode。

打开终端 输入open /Library/Developer/CoreSimulator/Profiles/Runtimes 删除不需要的模拟器

除了@childno.de答案,你的Mac目录

/私人/ var /强于/ receipts /

可能仍然包含过时的iPhoneSimulatorSDK .bom和.plist文件,如下所示:

/私人/ var /强于/ receipts / com.apple.pkg.iPhoneSimulatorSDK8_4.bom /私人/ var /强于/ receipts / com.apple.pkg.iPhoneSimulatorSDK8_4.plist

这些可以让你的下载选项卡的Xcode首选项显示一个打勾(√)为过时的模拟器版本。

为了清除不需要的模拟器,你可以在Mac终端上使用bash命令进行搜索:

sudo find / name "* phononesemulator *"

然后进入对应目录,手动删除不需要的simulatorsdk

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

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

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

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