2012-05-31 216 views
136

我正在运行最初仅支持iOS 5.1的Xcode 4.3.1 iOS-Simulator。Xcode模拟器:如何删除旧的不需要的设备?

我需要的iOS 4.3测试我的代码,所以我使用Xcode的“安装”功能来安装它作为"Installing Xcode with iOS 4.3 device simulator?"

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

Apple的Xcode listserv没有人知道答案!

编辑:请注意,自Xcode 4.3以来有很多改变,所以建议任何人读这个看所有的答案。像史蒂夫莫泽这样的最新作品可能对你更有用!

编辑2017分之10:在Twitter上发布的胡里奥Carrettoni

如果你是一个iOS开发者,执行此:
$ xcrun simctl delete unavailable
它删除旧模拟器的Xcode不再使用。对我来说是的6Gb 没有尝试自己...

[此外,我刚才看到拉斯主教已经在下面的评论中提到这...]

回答

140

你有没有试过只是删除4.3 Xcode包内的SDK?

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

也请删除

〜/库相应的.dmg文件/Caches/com.apple.dt.Xcode/Downloads

to prevent Xcode from re-installing再次相同的包。


为的XCode> = 6见 @praveen-matanam 's answer

+2

你是天才!非常感谢!不能相信在Xcode listserv不知道这一点。我在几个地方看,但不是你建议的地方。 –

+0

这不适用于xcode 4.5.2。一旦你再次启动编译器,它会要求你再次安装旧的旧设备。取消将退出xcode,因此您不得不再次安装。 –

+0

这是正确的亚历杭德罗,苹果似乎已经改变了“许可证事情”,以便您始终需要一个有效的开发人员帐户,并且您必须一次又一次安装应用程序内的每个重大更新的所有扩展..遗留系统也大多不支持; ( –

23

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

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

  1. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/PhoneSimulator5.0.sdk
  2. 〜/图书馆/缓存/ com.apple.dt.Xcode

例如,做一个干净的安装的Xcode后,我安装的Xcode的喜好了iOS 5.0模拟器。后来,我决定5.1已经足够,但无法删除5.0版本。 Xcode一直强迫我在启动时重新安装它。删除缓存文件和SDK后,它不再询问。

+2

确认;这适用于Xcode 4.6。谢谢! –

+1

稍微更精确的答案[这里](http://stackoverflow.com/a/11790983/209371),虽然我还没有自己测试过。 –

1

您可以做的另一件事是将部署目标更改为最高值。这将阻止Scheme菜单显示旧版本。

要这样做,请转到: Target-> Summary然后更改部署目标。

+0

也许事情发生了变化,因为我发布了这个问题,但是当我这样做时,您会在Scheme菜单中看到不同的模拟器,而选择正确的模拟器会很复杂。 –

169

在Xcode 6+中,您可以简单地进入菜单>窗口>设备>模拟器,然后删除您不需要的模拟器。

+1

这个问题在版本4和大概5中是相关的。正如你所看到的那样很难。自那以后,我避免使用旧的模拟器。 –

+2

这是正确的。如果你想要模拟器“真的走了”,或者重新安装它们在Xcode - >首选项 - >下载,你必须删除模拟器运行时间,如下所示http://stackoverflow.com/a/30206853/1344293 – mathz

+0

谢谢这是管理模拟器的最简单方法。而不是从xcode文件夹中删除模拟器。这适用于我:) – Chirag

114

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

+1

从Xcode 6.4开始,您不需要重新启动。 – orta

+0

6.4这里。需要重启我的机器才能生效。 – aasatt

+2

7.2 - 无需重新启动 – TheEye

4

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

/private/var/db/receipts/

可能仍包含过时iPhoneSimulatorSDK .bom.plist文件是这样的:

/private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.bom /private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.plist

这些可能会使Xcode偏好设置的“下载”选项卡显示该过时模拟器版本的勾号()。

要清除不需要的模拟器,你可以从你的Mac终端做使用这个bash命令搜索:

sudo find/-name "*PhoneSimulator*"

然后进入到相应的目录手工删除不需要的SimulatorSDKs

2

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

只要去/Applications/Xcode.app/Contents/Developer/Platforms并删除你不需要的东西。 Xcode将开始正常。如果您对此感到担忧,那么您可以简单地从垃圾箱中恢复。

+2

我严重怀疑Xcode是否下载了你要求它捆绑的模拟器。他们肯定会进入用户库,不是吗? –

+0

对于每个平台(iOS,watchOS,AppleTVOS,MacOS),我有2个文件夹:我有“iPhoneOS.platform”和“iPhoneSimulator.platform”我想删除哪一个?我与同事检查,他有他们两个,但没有问题。原因我实际上在这里是因为[这个问题](http://stackoverflow.com/questions/39856001/xcode-8-beta-simulator-无法运行应用程序后意外运行xcode8-simula)和有人告诉我,这是因为我有2个模拟器/ Xcode,但如果我不正确,我已经删除了我的其他版本的Xcode,还我删除了9.3运行时... – Honey

+0

请请不要这样做。没有人应该搞乱Xcode包内的内容。 – russbishop

35

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

xcrun simctl delete unavailable

+2

谢谢!很显然,最初的问题是Xcode 4,所以从那时起事情就发生了很大变化! –

+1

它为我释放了近20GB。谢谢 –

1

我试过所有的答案。他们都没有为我工作。

什么工作对我来说塞拉利昂+的Xcode 8.2正想:

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

(也许这不会为你工作,也许这是一个解决方案作为一个独立的,或者你必须这样做,除了其他的答案,但我在这里等不知道该怎么做了做了所有的解决方案契税)。请注意,这里的一些答案是旧的,模拟器的位置已经改变。 Snowcrash's answer似乎是最近的。

+0

我可以假设你先关闭Xcode,这样做,然后重新启动Xcode? –

+0

@DavidH对不起,我不记得我做了什么。我有这个问题3-4周。每当它在项目/模拟设备之间切换时发生......我只是尝试了一切,这似乎是为我做的......再次,它可以为你另外一件事 – Honey

+0

@DavidH你也尝试过吗? ](http://stackoverflow.com/a/30206853/5175709) – Honey

3

在XCode打开窗口 - 设备,然后选择并删除过时的模拟器。

6

我有同样的问题。我的MacBook耗尽了空间。根本原因是xCode保留了旧的iOS版本。删除旧的设备模拟器没有帮助。

iOS版本使用75GB的空间+7GB的xCode 9.1。

删除您不想要的iOS版本并释放磁盘空间。 enter image description here

+0

我计算9G以上 - 你是如何恢复75G? –

+0

嗨@DavidH - 75GB在我清理之前。由于我一直在使用xCode多年,xCode默默地在我的机器上安装了iOS 7,8,9和10的所有变体。实际上,我可能只需要iOS10和iOS11。 – rustyMagnet

+1

我删除了20GB! (非常感谢) – MadeInMoon

21

2017年九月,的Xcode 9

运行时

您将在这里找到他们:

/Library/Developer/CoreSimulator/Profiles/Runtimes 

enter image description here

设备

台删除设备去这里:

~/Library/Developer/CoreSimulator/Devices 

更容易删除它们使用的Xcode: Xcode->窗口 - >设备和模拟器 enter image description here

帮助Xcode的“忘记”关于运行时间和重新防止安装它们 - 删除.dmg文件(S)位置:

~/Library/Caches/com.apple.dt.Xcode/Downloads 

我希望这会帮助别人

+3

请不要从文件系统中删除设备;使用'xcrun simctl delete '。您也可以运行'xcrun simctl delete unavailable'来删除不再支持的运行时的旧设备。 – russbishop

+0

我没有〜/ Library/Caches/com.apple.dt。Xcode/Downloads(〜/ Library/Caches/com.apple.dt.Xcode /中没有下载文件夹),想知道为什么 – auspicious99

0

命令+空格

类型“仿真”

打开旧测试模拟器,你不再需要的。

它在码头“在Finder中显示”

关闭应用程序单击鼠标右键,然后选择选项>,然后从文件夹中删除它。

:)

相关问题