Xcode占用大量硬盘空间的根源是缓存文件堆积,需按顺序清理DerivedData、旧Archives、废弃iOS DeviceSupport包、CoreSimulator设备数据及冗余模拟器Runtime,每步操作均有明确路径和安全提示。

Mac硬盘空间被Xcode吃掉几十GB,Finder里“系统数据”或“其他”类目疯狂膨胀,编译变慢、模拟器卡顿、甚至提示磁盘不足无法构建——这不是系统故障,是Xcode长期积累的缓存文件在 silently 占据空间。这些文件不参与版本控制、不绑定源码、删除后Xcode会自动重建,但必须按正确路径和顺序清理,否则删错关键项会导致真机调试失败或模拟器无法启动。
清空DerivedData编译中间产物
这是Xcode空间占用最大的单项,一个大型项目缓存可达5–12GB,包含索引、模块缓存、符号表和构建输出,和你的项目源码完全分离。
第一步:关闭Xcode【必须执行,否则部分文件被锁定无法删除】。
第二步:打开访达 → 按Shift + Command + G → 粘贴路径:~/Library/Developer/Xcode/DerivedData → 回车进入。
第三步:点击窗口右上角“显示” → “为列表视图排序” → 点“大小”列,识别出体积最大的旧项目文件夹(比如“MyApp-czqkxjyqfjgjxkzvzjzjzjzjzjzjz”这种命名),按住Command多选或全选 → 直接拖入废纸篓。
第四步:右键废纸篓 → “清空废纸篓”。【不执行这步,磁盘空间不会真正释放】
删掉90天前的Archives归档包
每次Product → Archive生成的.xcarchive包都完整保留dSYM、IPA、构建日志,旧版测试包留着毫无调试价值,却常占3–8GB/个。
方法一(图形界面):打开访达 → Shift + Command + G → 输入~/Library/Developer/Xcode/Archives → 回车。展开年份文件夹(如“2022-07.xcarchive”),按修改日期倒序排列 → 勾选超过90天未打开、且未上传App Store Connect或TestFlight的归档 → 拖入废纸篓并清空。
方法二(终端快速清理):在终端中运行:find ~/Library/Developer/Xcode/Archives -name "*.xcarchive" -mtime +90 -delete。这行命令只删90天前的归档,跳过近期版本,安全可控。
卸载不用的iOS DeviceSupport支持包
你连过多少台真机,Xcode就下过多少套系统支持包。iOS 14.4、15.0、16.1这些旧包现在根本用不上,每个占1–3GB,删掉立省10GB+。
打开访达 → Shift + Command + G → 输入~/Library/Developer/Xcode/iOS DeviceSupport → 回车。
查看各子文件夹名称,识别含已淘汰系统版本号的目录(例如“14.2 (18B92)”“15.0 (19A339)”)。【请勿删除当前主力设备正在使用的iOS版本对应文件夹,如iOS 17.6】
选中这些旧版本文件夹,拖入废纸篓并清空废纸篓。
清理CoreSimulator废弃设备数据
每次启动模拟器都会生成独立设备实例,每个实例自带data、logs、tmp等子目录,长期闲置的设备数据可安全清除。
① 打开访达 → Shift + Command + G → 输入~/Library/Developer/CoreSimulator/Devices → 回车。
② 检查每个设备文件夹修改日期,找出超过60天未使用、且名称中含明显旧版本标识(如“iOS-15-2”“iPhone-SE-2nd”)的文件夹。
③ 全选这些文件夹 → 拖入废纸篓 → 清空废纸篓。
这一步操作起来很简单,直接把文件夹拖进去就行,但别误删正在Xcode设备列表中显示为“Available”的活跃设备。
通过Xcode设置卸载冗余模拟器Runtime
如果你下载过iOS 12、13、14等早已不再支持的模拟器系统镜像,它们就躺在Runtime目录里吃灰,每个2–5GB。
打开Xcode → 顶部菜单栏点击“Xcode” → “设置…” → 切换到“平台”标签页。
列表中显示所有已安装的模拟器系统版本,勾选你确认不再需要的旧版本(比如iOS 14.0、iOS 15.2),点击右下角“-”号按钮卸载。
卸载过程会自动清理对应文件,无需手动进路径操作,也避免了误删风险。

















