电脑硬盘总是不够用,把所有不重要的东西都清掉了,没过几天又提示空间不足,真实蛋疼。而且大部分的空间都是显示被系统占用,想删掉点东西却无从下手。于是在网上找到了一些解决方案。
-
系统占用了大部分的空间,真的不知道怎么清除
一、查看Mac系统文件大小分布的方法
1⃣️ 打开终端,输入以下命令
du -sh *
这个命令用来查看根目录下,所有文件的大小分布。圈中的文件夹53G,占用空间最大。如图所示:
2⃣️ 输入命令,进入到Library文件路径,查看目录结构
3⃣️ 再输入命令,查看Library文件夹里面文件的大小分布,如图
du -d 1 -h
对比一下,就可以看出Developer文件占用的空间最大,48G
4⃣️ 要想继续查看,就重复以上的方法,先进入文件,在输入命令 du -d 1 -h 便可查看文件的分布状况
二、清理Xcode存储空间
1⃣️ 移除 Xcode 运行安装 APP 产生的缓存文件(DerivedData)
- 只要重新运行Xcode就一定会重新生成,而且会随着运行程序的增多,占用空间会越来越大。删除后在重新运行程序可能会稍微慢一点,建议定期清理
路径:
~/Library/Developer/Xcode/DerivedData
2⃣️ 移除 APP 打包的ipa历史版本(Archives)
- Xcode打包时候产生的缓存,建议可以定期清理
路径:
~/Library/Developer/Xcode/Archives
3⃣️移除 APP 打包的app icon历史版本(Archives)
- 建议全部删除
路径:
~/Library/Developer/Xcode/Products/
4⃣️移除模拟器的缓存数据(Devices)
- 模拟器的相关数据。每个版本的模拟器占用的内存空间大约为10M左右。每个文件夹里包含的就是一个特定系统版本的设备的数据。每个文件夹对应哪个设备可以在其下device.plist中查看。删除之后,如果立即运行程序会报错,先关闭Xcode,再重新打开程序,运行即可。运行该路径下会立马生成模拟器对应版本的文件。
路径:
~/Library/Developer/CoreSimulator/Devices/
5⃣️ 移除对旧设备的支持(iOS DeviceSupport)
- 一般是占用内存空间最大的文件夹,即使全部删,再连接设备调试时,会重新自动生成。一般iOS只向下兼容两个版本就可以了。
路径:
~/Library/Developer/Xcode/iOS DeviceSupport
6⃣️ 移除 Xcode 中的无效的插件(Plug-ins)
- 因为之前你可能安装了一些 Xcode 的插件,比如HighlightSelectedString、VVDocumenter-Xcode等非常方便好用的第三方插件,在Xcode升级到version 8.0以后,就失效了,Xcode在内部已经集成了类似的方法,所以之前安装的也都没有用了,但是还在原来的位置占用着内存空间,建议删除。ps:如果你曾经没有安装过插件,那么可能不存在此路径。
路径:
~/Library/Developer/Xcode/Plug-ins
7⃣️ 移除旧版本的模拟器支持
- 如果你不小心安装了很多个版本的模拟器,那么你可以删除一些旧版本的。但是当你需要旧版本的模拟器时,就需要重新下载了。建议留下1~2个版本就好了,其余的都删了吧。
路径:
~/Library/Developer/CoreSimulator/Profiles/Runtimes/
8⃣️ 移除 playground 的项目缓存(XCPGDevices)
- 删除后可重新生成,可以全部删除。再次运行程序会缓存。
路径:
~/Library/Developer/XCPGDevices/
9⃣️ 移除旧的文档(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的内存。
路径:
~/Library/Developer/Shared/Documentation/DocSets
🔟 移除模拟器中的SDK版本(iPhoneSimulator.sdk)
- 不可恢复,操作请慎重。除非当你有多个版本的sdk再酌情删除。
路径:
~/application/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/