新的 Xcode 大小为 6.1GB,然而升级时剩余空间 20+GB,提示系统空间不足???250GB SSD 真是不够用,然而升级 500GB 需要 +1500RMB???作为穷人就得找找别的方法。。
下面列举了 Xcode 占据空间的一些文件夹。
DerivedData 文件夹
路径:~/Library/Developer/Xcode/DerivedData/
存储了项目构建过程中生成的中间信息,例如:debug、release 以及项目的索引。
如果出现了项目索引问题(例如:代码补全问题、无限生成索引或项目运行比较慢等),可以删除这个文件夹来重新生成索引。
可以安全删除文件夹中的所有内容。
Archives 文件夹
路径:~/Library/Developer/Xcode/Archives/
存储了项目打包生成的应用包体和用来调试用的 dSYM 信息,以 xcarchive
后缀存储,可以右键显示包内容。
如果需要后期调试,建议不要删除。仅删除无用的包体信息。
iOS DeviceSupport 文件夹
路径:~/Library/Developer/Xcode/iOS DeviceSupport/
存储了不同 iOS 系统的符号信息。
可以删除不支持的 iOS 系统版本。
或者只删除 ~/Library/Developer/Xcode/iOS DeviceSupport/*/Symbols/System/Library/Caches/*
文件夹下的内容,来保证对旧版本 iOS 的支持。
CoreSimulator 文件夹
路径:~/Library/Developer/CoreSimulator/Devices/
存储了 Xcode 模拟器的信息,升级新版本的 Xcode 系统就会生成新的模拟器信息,所以这个文件夹越来越大。
可以使用 simctl
工具来查看已有的模拟器信息。
1 | xcrun simctl list devices |
可能的输出信息如下:
1 | == Devices == |
其中可以看出不可用的模拟器 id,例如:iPhone 7 的为 007146BB-E8EF-48E1-B6CC-6270DD115213
。
可以删除单个模拟器信息:
1 | xcrun simctl delete 007146BB-E8EF-48E1-B6CC-6270DD115213 |
或者批量删除所用不可用的模拟器信息:
1 | xcrun simctl delete unavailable |
通过使用批量删除后,这个文件夹从占用 20GB 变为了 450MB,效果不错,删除了 iOS 10.x ~ iOS 12.x 的模拟器。
参考链接
- 苹果开发者的Mac大瘦身, Welkin’s Host.
- How can I safely delete in my ~/Library/Developer/Xcode/DerivedData directory?, answer by Joshua Nozzi, stackoverflow.com.
- Can I delete data from iOS DeviceSupport?, answer by rmaddy, stackoverflow.com
- Xcode - free to clear devices folder?, answer by Aaron, stackoverflow.com.