Xcode占用大量硬盘空间的根源是DerivedData和ModuleCache中的索引与缓存文件,删除后可安全重建;需先关闭Xcode,再清理~/Library/Developer/Xcode/DerivedData及~/Library/Caches/com.apple.dt.Xcode/ModuleCache.noindex,并可用“Clean Build Folder”精准清理当前项目索引。

Mac硬盘空间被Xcode悄悄吃掉几十GB,打开“关于本机”发现“系统数据”或“其他”类目异常庞大,根源往往就是Xcode在后台持续生成却从不自动清理的索引数据——这些文件不是项目源码,删完Xcode下次编译或运行时会全自动重建,但不清理就会越堆越多,最终拖慢编译、卡死模拟器、甚至导致磁盘告急。
清空DerivedData中的索引与模块缓存
DerivedData是Xcode索引数据的最大藏身地,它包含符号索引(Index Database)、Swift模块缓存(ModuleCache)、预编译头文件、dSYM和构建中间产物。一个大型项目索引可占3–8GB,多个项目叠加后常超20GB。这些文件完全与源码隔离,删除后Xcode会在首次构建时重建,且重建过程比旧索引更高效。
第一步:关闭Xcode(【必须执行,否则索引文件被xcodebuild进程锁定,部分无法删除】)。
第二步:打开访达 → 按Shift + Command + G → 粘贴路径:~/Library/Developer/Xcode/DerivedData → 回车。
第三步:点击右上角“显示”→“为列表视图排序”→点“大小”列,顶部即为体积最大的旧项目索引目录;按住Command键多选确认已废弃项目的文件夹(例如原型、分支测试、离职同事遗留工程),避免误删当前正在开发的项目缓存。
第四步:将选中文件夹直接拖入废纸篓 → 右键废纸篓 → “清空废纸篓”。【不执行这步,磁盘空间不会真正释放】
清除独立的Xcode模块缓存(Module Cache)
这部分缓存有时会脱离DerivedData单独存在,尤其在Xcode升级或Swift版本切换后容易残留损坏的模块索引,引发“Could not find module”等报错,且占用1–4GB不等。
方法一(终端命令,推荐):
打开终端,执行:rm -rf ~/Library/Caches/com.apple.dt.Xcode/ModuleCache.noindex
该路径是Xcode 14+默认模块缓存位置,删除后重启Xcode即可重建。
方法二(图形界面):
访达 → Shift + Command + G → 输入:~/Library/Caches/com.apple.dt.Xcode → 回车 → 找到名为ModuleCache.noindex的文件夹 → 拖入废纸篓并清空。
注意:不要删除整个com.apple.dt.Xcode缓存目录,否则会连带清空代码补全词典、字体渲染缓存等非索引类数据,导致首次启动变慢。
用Xcode内置功能精准清理当前项目索引
当你只希望清理当前打开项目的索引(比如刚切了Swift版本、改了Build Settings、或遇到跳转失效),而非全部项目,用此法最安全、最轻量。
① 确保Xcode已启动,并打开你要清理的项目。
② 顶部菜单栏点击“Product” → “Clean Build Folder”(快捷键:Shift + Command + K)。
③ 等待进度条结束(通常几秒到一分钟)。
④ 接着点击“Editor” → “Reset Navigation Stack”,强制刷新符号索引与跳转关系。
⑤ 关闭并重新打开该项目窗口,Xcode会触发增量索引重建,比全量DerivedData清理快得多,且不波及其他项目。

















