我正在运行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在下面的评论中提到了这一点…]


当前回答

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

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

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

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

其他回答

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

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

更新Xcode 14

在Xcode 14中,你终于可以通过设置中的“平台”部分卸载模拟器运行时。只需选择一个,然后点击左下角的减号“-”按钮。

我写了一行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以来,它在我的macOS上保存了所有iOS版本的副本。

删除你不想要的iOS版本,释放磁盘空间。我节省了50GB以上的空间。



注:>你不能看到~/库在Finder?默认情况下是隐藏的。使用终端,输入cd ~/Library/Developer/Xcode/iOS\ DeviceSupport/或谷歌如何查看隐藏文件夹。



说明->如果您在一台macOS机器上有多个用户,请确保找到的目录中只有最初安装xCode的用户帐户。

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

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