今天梳理一下/Users/yourname/Library/Developer/Xcode目录下常见的子文件夹作用,并说明哪些可以删除或者安全清理。
DerivedData
路径:
~/Library/Developer/Xcode/DerivedData作用:
Xcode 为每个项目生成的中间编译文件、模块缓存、符号索引、预编译头(PCH)等。
提升编译和编辑器性能。
可删除吗:可以删除
删除后下次编译会重新生成。
可解决奇怪编译错误、符号找不到或自动补全失效问题。
删除方式:
rm -rf ~/Library/Developer/Xcode/DerivedData
Archives
路径:
~/Library/Developer/Xcode/Archives作用:
存放Xcode 打包归档文件(.xcarchive)。
用于发布到 App Store 或导出 IPA。
可删除吗:
可以删除,删除后会丢失归档历史。
如果不打包历史 IPA,也可以清理。
删除方式:
rm -rf ~/Library/Developer/Xcode/Archives/*
iOS DeviceSupport
路径:
~/Library/Developer/Xcode/iOS DeviceSupport作用:
存放连接过的 iOS 设备的符号文件。
Xcode 用于调试 crash 日志和符号化设备上的应用。
可删除吗:
可以删除,但再次连接设备时会重新下载对应版本的符号文件。
占用空间大时可清理。
DocumentationCache
路径:
~/Library/Developer/Xcode/DocumentationCache作用:
缓存 Xcode 文档(Help 文档、API 文档)。
可删除吗:
可以删除,下次打开文档会重新生成缓存。
Products(旧版本/部分情况)
作用:
存放编译产物和临时工具。
可删除吗:
可以删除,重新编译即可。
UserData
路径:
~/Library/Developer/Xcode/UserData作用:
存放 Xcode 用户偏好、键盘快捷键、模版、行为设置等。
可删除吗:
一般不建议删除,否则会丢失自定义设置。
如果想重置 Xcode 配置可以删除,但会恢复默认配置。
其他缓存和临时目录
iOSSimulator(可能在~/Library/Developer/CoreSimulator/Devices):存放 iOS 模拟器的系统镜像和应用数据。
可以删除旧模拟器或不再使用的设备数据。
总结表
| 子文件夹 | 作用 | 可删除吗 | 删除后效果 |
|---|---|---|---|
| DerivedData | 编译中间文件、索引、缓存 | 可以 | 重新编译时生成 |
| Archives | 打包归档文件 (.xcarchive) | 可以 | 失去历史归档 |
| iOS DeviceSupport | iOS 设备符号文件 | 可以 | 再次连接设备会重新生成 |
| DocumentationCache | 文档缓存 | 可以 | 下次打开文档重建 |
| Products | 编译产物 | 可以 | 重新编译即可 |
| UserData | 用户偏好、快捷键、模板 | 不可以 | 会丢失自定义设置 |
| iOSSimulator (CoreSimulator) | 模拟器系统镜像及应用数据 | 可以 | 删除后需重新下载模拟器镜像 |
清理建议:
定期清理:
DerivedData+Archives+DocumentationCache+ 不用的iOS DeviceSupport保留:
UserData(避免丢失自定义设置)