清理 Xcode 缓存

Xcode 是个逆天的存在。本身占用了 11+G 的硬盘,平常用着用着还会生成很多缓存数据。虽然缓存可以加快编译、运行等速度,但 128G 的小硬盘根本经不起折腾,所以需要定期清理一下空间。

以下为网络上搜集到的资料,运行完后,曾经释放了 20G 的空间。

注:以下基于 Xcode 9.3 版本,其他版本位置可能有所不同。

移除运行安装 APP 产生的缓存文件(DerivedData)

只要重新运行 Xcode 就一定会重新生成,而且会随着运行程序的增多,占用空间会越来越大。删除后在重新运行程序可能会稍微慢一点,建议定期清理。

1
rm -rf ~/Library/Developer/Xcode/DerivedData

移除 APP 打包的ipa历史版本(Archives)

删除后不可恢复,文件夹是按照日期排列的,所以如果你不想全部删除,就只保留最新的几个版本就好了,个人建议全部删除。

1
rm -rf ~/Library/Developer/Xcode/Archives

移除 APP 打包的app icon历史版本(Archives)

删除后不可恢复,文件夹是Bundle Idenifier排列的,然后再按照archive的版本号排列的,如果你看每个版本内的内容,其实就是你的app icon,个人建议全部删除。

1
rm -rf ~/Library/Developer/Xcode/Products

移除模拟器的缓存数据(Devices)

模拟器的相关数据。每个版本的模拟器占用的内存空间大约为10M左右。每个文件夹里包含的就是一个特定系统版本的设备的数据。每个文件夹对应哪个设备可以在其下device.plist中查看。删除之后,如果立即运行程序会报错,先关闭Xcode,再重新打开程序,运行即可。运行该路径下会立马生成模拟器对应版本的文件。

1
rm -rf ~/Library/Developer/CoreSimulator/Devices

移除对旧设备的支持(iOS DeviceSupport)

一般是占用内存空间最大的文件夹,即使全部删,再连接设备调试时,会重新自动生成。一般iOS只向下兼容两个版本就可以了。

1
rm -rf ~/Library/Developer/Xcode/iOS\ DeviceSupport

移除旧版本的模拟器支持

如果你不小心安装了很多个版本的模拟器,那么你可以删除一些旧版本的。但是当你需要旧版本的模拟器时,就需要重新下载了。建议留下1~2个版本就好了,其余的都删了吧。

1
rm -rf ~/Library/Developer/CoreSimulator/Profiles/Runtimes

移除 playground 的项目缓存(XCPGDevices)

删除后可重新生成,可以全部删除。再次运行程序会缓存。

1
rm -rf ~/Library/Developer/XCPGDevices

移除旧的文档(Docsets)

删除后不可恢复,该目录下存储的为开发文档,一般有三个文件com.apple.adc.documentation.iOS.docset(1.68GB)、com.apple.adc.documentation.OSX.docset(2.62GB)和com.apple.adc.documentation.Xcode.docset(256.4M),如果你只做iOS开发,其实你可以把OSX.docset删除掉的,因为它占用了2.62GB的内存。

1
rm -rf ~/Library/Developer/Shared/Documentation/DocSets

移除模拟器中的SDK版本(iPhoneSimulator.sdk)

不可恢复,操作请慎重。

1
rm -rf ~/application/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs