我正在运行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包中删除4.3 SDK吗?

/应用程序/ xcode /内容/开发/平台/ iPhoneSimulator.platform /开发/ sdk

中相应的.dmg文件也请删除

~ / Library / Caches / com .苹果的Xcode / Downloads dt。

以防止Xcode再次安装相同的包。


关于XCode >= 6参见@praveen-matanam的答案


如果你只是删除SDK, Xcode 4.6会提示你重新安装任何旧版本的iOS模拟器。为了避免这种情况,你还必须删除Xcode缓存。这样你就不会被迫在启动时重新安装旧的SDK。

删除iOS 5.0模拟器,删除这些,然后重新启动Xcode:

/ Applications Xcode。app /地点/平台开发商iPhoneSimulator - - SDKs PhoneSimulator5开发商平台。0 sdk。 ~ / Library / Caches / com .苹果Xcode dt。

例如,在完成Xcode的干净安装后,我从Xcode首选项安装了iOS 5.0模拟器。后来,我觉得5.1就足够了,但不能删除5.0版本。Xcode一直强迫我在发布时重新安装。在删除缓存文件和SDK之后,它不再询问。


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

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


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


在Xcode 6及以上版本中,你可以在/Library/Developer/CoreSimulator/Profiles/Runtimes路径下找到并删除模拟器。重启Xcode才能生效(可能不需要)。


除了@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


这些答案的问题在于,每次Xcode更新,菜单和位置都会改变。

去/Applications/Xcode。app/Contents/Developer/Platforms,删除你不需要的内容。Xcode会正常启动。如果您完全担心,那么您可以简单地从垃圾中恢复。


在终端中运行此命令,删除您机器上使用的当前版本Xcode(8+?)中无法访问的模拟器。

xxrun simctl delete不可用

此外,如果你想回收模拟器相关的空间,Michael Tsai发现删除模拟器日志为他节省了30gb。

~/Library/Logs/CoreSimulator

我试了所有的答案。没有一个对我有用。

Sierra + Xcode 8.2对我来说有用的是:

/Library/Developer/CoreSimulator/Devices并删除所有设备。

(也许这对你没用,也许这是一个单独的解决方案,或者你必须在其他答案之外做这个,但我在这里做了所有的解决方案,所以不确定是什么起作用)。请注意,这里的一些答案是旧的,模拟器的位置已经改变了。Snowcrash的答案似乎是最近的。


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


我也有同样的问题。我快没地方写了。

删除旧的设备模拟器并没有帮助。

我的空间问题是由xCode引起的。自从我安装xCode以来,它在我的macOS上保存了所有iOS版本的副本。

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



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



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


命令+空间

类型“模拟器”

打开您不再需要的旧测试版模拟器。

右键单击它,然后选择选项>“在Finder中显示”

关闭应用程序,然后从文件夹中删除它。

:)


下面是一些答案,删除一些模拟器从我的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

有些人试图用一种方法来解决它,有些人用第二种方法。基本上,有两个问题,如果你检查并解决它们-在99%它应该修复这个问题:

Old device simulators located at YOUR_MAC_NAME (e.g. Macintosh) -> Users -> YOUR_USERNAME (daniel) -> Library -> Developer -> Xcode -> iOS Device Support. Leave there, the newest one, as of today this is 13.2.3 (17B111), but in future it'll change. The highest number (here 13.2.3) of the iOS version indicates that it's newer. After this list your devices in Terminal by running xcrun simctl list devices. Many of them might be unavailable, therefore delete them by running xcrun simctl delete unavailable. It'll free some space as well. To be sure that everything is fine check it again by running xcrun simctl list devices. You should see devices only from the newest version (here 13.2.3) like the screenshot below shows.

作为一个奖励,这与这个问题有点不相关,但仍然有一些空间。进入YOUR_MAC_NAME(例如Macintosh) -> Users -> YOUR_USERNAME(例如daniel) -> Library -> Developer -> Xcode -> Archives。您将看到许多已归档部署的应用程序,很可能您并不需要所有这些应用程序。尝试删除这些不再被使用的文件。

使用这两种方法和额外的方法,我能够在我的Mac上获得额外的15gb空间。

PS.简单地从Xcode中删除模拟器通过到Xcode ->窗口->设备和模拟器->模拟器(或简单地CMD + SHIFT + 2时使用键盘快捷键)并删除它不会有帮助。你真的需要按照描述的步骤去做。


在Mac上,查看/Library/Developer/Xcode/iOS\ DeviceSupport


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

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

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

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


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

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


更新2022

我们可以使用存储管理工具: ⌘+空格键和搜索存储。

在开发者:你可以找到Xcode缓存和构建文件,也可以删除旧版本的iOS支持文件。

在macOS Big Sur和Monterey上测试


更新Xcode 14

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