一、概述
一直以来,mac用了一段时间后,总会提示磁盘空间不足告警~~~ 实际日常音视频文件又很少,那想想最大可能是XCode。
折腾一圈下来,使用第三方磁盘整理工具,发现一些开发相关目录太大:
~/Library/Developer/Xcode/
~/Library/Developer/CoreSimulator/
整理上面两个文件夹,我为自己的电脑释放100多G的空间,很可观。如下,整理前就剩下几个G。
二、~/Library/Developer/Xcode
存放哪些东西?
DerivedData
它是Xcode 存储各种中间构建结果、生成索引等的位置,其占用的磁盘空间也不小。
另外,如果项目突然出现很多编译异常,特别是项目越复杂、Swift项目,更可能是如此。
当然清除它,Xcode 会重新索引文件和编译,编译时间很长很长。iOS DeviceSupport
它存放各种设备symbol data
数据, 是 Xcode 链接iOS设备时,如果本机没有,Xcode会默默下载安装。
这也是为什么,有时候测试手机真机调试的时候,需要等很久的原因之一。
时间久了,这个文件夹异常大(几十个、上百个G)。因此空间不足时,它也是可以考虑删除的。
stackoverflow-DeviceSupportiOS Device Logs
它存放手机设备的日志文件,一般不会太大,可以忽视。Products
它存放打测试或者线上包的Archiver
文件存放目录,时间久了占用空间也不小,可以适度按需的清理。
三、~/Library/Developer/CoreSimulator/
存放哪些东西?
Devices
该目录是存放模拟器,每个模拟器标识符代表一台设备,具体可见该目录下的device_set.plist
。cache
该目录存放模拟器的缓存数据,例如dyld
等,占用空间也会达到十几G。-
说明:
如果没用模拟器的尽可删除掉这些内容。如果有使用模拟器,也可以删除不需要的虚拟器,需要的时候再去下载。 Xcode在当你进行下一个模拟器运行时,会为你重新创建新的实例,会去自动去下载相关的。也可以通过以下页面,新加需要的实例。
模拟器管理命令 xcrun simctl
xcrun simctl delete unavailable
也可以清理掉无用的模拟器,不过没有直接删除的彻底。
四、关于EmbeddedAppDeltas
目录
/private/var/folders/jf/zkvr_3r17rl3q1fw6zhz6jr40000gn/C/com.apple.DeveloperTools/All/Xcode/EmbeddedAppDeltas
存储很多xcode的缓存文件,但是没有自动删除,跑一个工程都会在这个目录下新建一个文件并缓存;
坑爹的是这个目录不会自动删除和回收,我的电脑居然有70多G的内存。占用的就是这里面的system data数据。
目前已经删除,没发现啥问题。
、清理
-
Shell命令快速删除:
rm -rf ~/Library/Developer/Xcode/DerivedData/*
rm -rf ~/Library/Developer/Xcode/iOS\ DeviceSupport/*
由于iOS DeviceSupport
中间有空格,因此需要\
进行转义。rm -fr ~/Library/Developer/CoreSimulator/*
-
注意:
使用系统System infomation
工具,里面Developer
对应主要也是~/Library/Developer/Xcode/
和~/Library/Developer/CoreSimulator/
,清除这两个文件夹之后,相对应的也降低了。
五、如何利用Linux命令查找大文件和大文件夹
主要利用以下几个命令,可以自行学习下:
df -h
用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。sudo du -sh *
查看目录大小sudo du -d 1 -h
进入大文件夹 查看文件
检测大文件的工具
omniDiskSweeper