我正在删除一些文件夹和文件,以便在我的驱动器上腾出更多空间。我知道在路上:
~/Library/Developer/CoreSimulator/Devices/
每个模拟器和每个版本都有文件夹。这个文件夹大小约为11GB。我知道我可以删除我不再使用的旧版本的模拟器。但是根据这个唯一的标识符,我无法知道哪个是正确的,哪个不是。所以我的问题是:我可以删除它吗?如果我下次没有在模拟器中安装任何应用程序但是我可以放弃更多的东西,这没关系吗?旧版本的模拟器?还是其他什么?感谢
答案 0 :(得分:152)
~/Library/Developer/CoreSimulator/Devices/
路径是Xcode存储各个模拟器设备所需的大部分数据的地方。
Beau Nouvelle关于删除下载的模拟器版本的建议不会改变这些文件夹的大小,因为运行时存储在其他地方。
如果你去终端,你可以使用 simctl 工具(Xcode 6+附带)列出你拥有的所有实际模拟器设备,以及id,这样你就可以输出要删除的文件夹。
注意,你会看到我在这个答案中经常使用 xcrun simctl 。通过让xcrun为您当前选择的Xcode查找适当版本的simctl,可以为事物添加一些抽象。如果你的系统没有我的那么复杂,你可以放弃“xcrun”部分,命令行仍然应该找到simctl工具。
xcrun simctl list devices
以下是我收到的输出的一些选定片段:
== Devices ==
- iOS 8.2 -
- iOS 8.4 -
iPhone 6 Plus(23E36868-715A-48C8-ACC3-A735C1C83383)(关机)
iPad Air(2928379B-70E3-4C59-B5BA-66187DDD3516)(关机)
- iOS 9.1 -
我的自定义iPhone 4s(4F27F577-FFD0-42C1-8680-86BBA7394271) (关机)
iPad Retina(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工具来做到这一点。
根据7.1.1版本的simctl使用:
xcrun simctl help delete
Usage: simctl delete <device> [... <device n>] | unavailable
所以我可以删除单个设备:
xcrun simctl delete D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3
或者我可以使用以下内容批量删除所有不可用的内容:
xcrun simctl delete unavailable
也没有必要将自己仅限于不可用的模拟器。
如果您需要有关该工具的任何进一步帮助,它会附带一个相当简单的帮助命令:
xcrun simctl help
答案 1 :(得分:1)
有时Xcode喜欢在其模拟器上加倍。
通常我的修复方法一直都是将它们全部删除。 删除它们是无害的,因为您可以随时再次下载它们。
Xcode&gt;偏好&gt;下载
请记住,如果你有任何旧的模拟器(iOS 8.0-),你将无法通过Xcode再次下载它们。
答案 2 :(得分:1)
我有一个类似的问题,xcode在我的驱动器上占用了47G。我尝试删除一些模拟器设备,这些设备阻止我的xcode工作(疯狂)。所以我删除了与xcode相关的everthing并安装了新的。这只是我的经历。
答案 3 :(得分:0)
:
1)在终端中运行$ sudo du -khd 1
以查看每个文件夹的文件夹大小;
2)运行$ cd library/developer/coresimulator/devices
以查看为所有Xcode模拟器存储的GB;
3)你会开始看到大量存储藏在哪里!现在只需导航到Macintosh HD上的该位置,然后在每个设备文件夹中查看 devices.plist ;
4)通过删除过去运行但不再需要测试的任何模拟器/ iOS版本来确定要删除和保留的文件夹。可以充当旧备份的旧sqlite版本或这些文件夹中存在其他内容,因此在删除此文件夹中的所有内容之前请考虑这一点。
我第一次这样做时节省了50GB以上。