~/Library/Developer/CoreSimulator/Devices/
每个模拟器和每个版本都有文件夹.这个文件夹的大小为11GB左右.我知道我可以删除我不再使用的旧版本的模拟器.但是从这个唯一的标识符我不知道哪个是正确的,哪个不是.所以我的问题是:我可以删除吗?没关系,如果下次我没有任何我的应用程序在模拟器,但我可以放松更多的东西?老版本的模拟器?还是别的什么?谢谢
解决方法
Beau Nouvelle关于删除下载的模拟器版本的建议不会改变这些文件夹的大小,因为运行时存储在其他地方.
如果你去终端,你可以使用simctl工具(附Xcode 6)来列出所有的实际的模拟器设备,以及ids,以便你可以找出要删除的文件夹.
注意,在这个答案中你会看到我经常使用xcrun simctl.通过让xcrun去查找当前选择的Xcode的适当版本的simctl,可以增加一些抽象性.如果你的系统不像我的那样复杂,你可以通过删除“xcrun”部分,命令行还应该找到simctl工具.
xcrun simctl列表设备
以下是我收到的输出的一些选定的片段:
== Devices ==
— iOS 8.2 —
— iOS 8.4 —
iPhone 6 Plus (23E36868-715A-48C8-ACC3-A735C1C83383) (Shutdown)
iPad Air (2928379B-70E3-4C59-B5BA-66187DDD3516) (Shutdown)
— iOS 9.1 —
My Custom iPhone 4s (4F27F577-FFD0-42C1-8680-86BBA7394271)
(Shutdown)iPad Retina (85717B35-313A-4161-850E-D99D5C8194A6) (Shutdown)
— Unavailable: com.apple.CoreSimulator.SimRuntime.iOS-9-0 —
iPhone 4s (D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3) (Shutdown)
(unavailable,runtime profile not found)
从那里你可以看到我没有iOS 8.2模拟器设备.我有一些9.1和8.4模拟器设备.我有一个9.0模拟器设备(我的工作在Xcode 7.0上的残余),但我没有9.0模拟器运行时本身.所以这是一个很好的候选人删除,或提醒我应该下载在Xcode 9.0模拟器.
如果需要,可以使用这些ids来标识相关设备的文件夹,并手动删除(在这种情况下,我将删除“D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3”文件夹),但也可以使用simctl工具来做到这一点.
使用根据7.1.1版本的simctl:
xcrun simctl help delete Usage: simctl delete <device> [... <device n>] | unavailable
所以我可以删除单个设备:
xcrun simctl删除D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3
或者我可以批量删除所有不可用的:
xcrun simctl删除不可用
还没有必要将自己纯粹的限制在不可用的模拟器上.
如果您需要对该工具的任何进一步的帮助,它将提供一个相当直接的帮助命令:
xcrun simctl帮助