~/Library/Developer/CoreSimulator/Devices/
path是Xcode存储单个模拟器设备所需的大部分数据的地方。
Beau Nouvelle关于删除下载的模拟器版本的建议不会改变这些文件夹的大小,因为运行时存储在别处。
如果你去到终端,你可以使用simctl工具(自带的Xcode 6+)列出所有你有实际的仿真设备,与IDS一起,这样就可以找出哪些文件夹到删除。
请注意,你会看到我不断使用xcrun simctl在这个答案。通过让xcrun去查找当前选择的Xcode的适当版本的simctl,增加了一些抽象。如果你的系统不像我的那么复杂,你可能会放弃“xcrun”部分,命令行仍然应该找到simctl工具。
xcrun simctl list devices
下面是我接收到输出的一些选定的片段:
==设备==
- 的iOS 8.2 -
- 的iOS 8.4 -
iPhone 6 Plus(23E36868-715A-48C8-ACC3-A735C1C83383) (关机)
iPad的空气(2928379B-70E3-4C59-B5BA-66187DDD3516)(关机)
- iOS设备9。1 -
我的自定义iPhone 4S(4F27F577-FFD0-42C1-8680-86BBA7394271) (关机)
iPad的视网膜(85717B35-313A-4161-850E-D99D5C8194A6)(关机)
- 不可用:com.apple.CoreSimulator.SimRuntime.iOS-9-0 -
iPhone 4S(D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3)(关机) (不可用时,运行时配置文件未找到)
从这里你可以看到我没有iOS 8.2模拟器设备。我有一些9.1和8.4模拟器设备。我有一个9.0模拟器设备(我在Xcode 7.0上工作的剩余部分),但我没有9.0模拟器运行时本身。所以这是一个很好的候选人,或者提醒我应该去下载Xcode中的9.0模拟器。
如果需要,可以使用这些ID来标识相关设备的文件夹并手动删除它(在这种情况下,我将删除“D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3”文件夹),但是您也可以使用simctl工具来做到这一点。
xcrun simctl help delete
Usage: simctl delete <device> [... <device n>] | unavailable
因此,我可以删除单个设备(或多个)::
根据7.1.1版本simctl的用法
xcrun simctl delete D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3
或我可以批量删除所有的不可用的:
xcrun simctl delete unavailable
也不需要将自己限制为不可用的模拟器。
如果需要使用工具进行任何进一步的帮助,它带有一个相当简单的帮助下命令:
在Xcode 8
xcrun simctl help