0%

macOS 系统清理

新的 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
2
3
4
5
6
7
8
9
== Devices ==
-- iOS 12.2 --
...
iPhone Xs (AA6CE6FF-4781-4EE6-86EF-792456D85271) (Shutdown)
...
-- Unavailable: com.apple.CoreSimulator.SimRuntime.iOS-10-2 --
...
iPhone 7 (007146BB-E8EF-48E1-B6CC-6270DD115213) (Shutdown) (unavailable, runtime profile not found)
...

其中可以看出不可用的模拟器 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 的模拟器。

参考链接