当前位置: 首页 > ops >正文

/Users/yourname/Library/Developer/Xcode 文件夹里面各子文件夹作用

今天梳理一下 /Users/yourname/Library/Developer/Xcode 目录下常见的子文件夹作用,并说明哪些可以删除或者安全清理。


1️⃣ DerivedData

  • 路径~/Library/Developer/Xcode/DerivedData

  • 作用

    • Xcode 为每个项目生成的 中间编译文件模块缓存符号索引、预编译头(PCH)等。

    • 提升编译和编辑器性能。

  • 可删除吗:✅ 可以删除

    • 删除后下次编译会重新生成。

    • 可解决奇怪编译错误、符号找不到或自动补全失效问题。

  • 删除方式

    rm -rf ~/Library/Developer/Xcode/DerivedData
    

2️⃣ Archives

  • 路径~/Library/Developer/Xcode/Archives

  • 作用

    • 存放 Xcode 打包归档文件(.xcarchive)

    • 用于发布到 App Store 或导出 IPA。

  • 可删除吗

    • ✅ 可以删除,删除后会丢失归档历史。

    • 如果不打包历史 IPA,也可以清理。

  • 删除方式

    rm -rf ~/Library/Developer/Xcode/Archives/*
    

3️⃣ iOS DeviceSupport

  • 路径~/Library/Developer/Xcode/iOS DeviceSupport

  • 作用

    • 存放 连接过的 iOS 设备的符号文件

    • Xcode 用于调试 crash 日志和符号化设备上的应用。

  • 可删除吗

    • ✅ 可以删除,但再次连接设备时会重新下载对应版本的符号文件。

    • 占用空间大时可清理。


4️⃣ DocumentationCache

  • 路径~/Library/Developer/Xcode/DocumentationCache

  • 作用

    • 缓存 Xcode 文档(Help 文档、API 文档)。

  • 可删除吗

    • ✅ 可以删除,下次打开文档会重新生成缓存。


5️⃣ Products(旧版本/部分情况)

  • 作用

    • 存放编译产物和临时工具。

  • 可删除吗

    • ✅ 可以删除,重新编译即可。


6️⃣ UserData

  • 路径~/Library/Developer/Xcode/UserData

  • 作用

    • 存放 Xcode 用户偏好、键盘快捷键、模版、行为设置等。

  • 可删除吗

    • ❌ 一般不建议删除,否则会丢失自定义设置。

    • 如果想重置 Xcode 配置可以删除,但会恢复默认配置。


7️⃣ 其他缓存和临时目录

  • iOSSimulator(可能在 ~/Library/Developer/CoreSimulator/Devices):

    • 存放 iOS 模拟器的系统镜像和应用数据。

    • 可以删除旧模拟器或不再使用的设备数据。


🔹 总结表

子文件夹作用可删除吗删除后效果
DerivedData编译中间文件、索引、缓存重新编译时生成
Archives打包归档文件 (.xcarchive)失去历史归档
iOS DeviceSupportiOS 设备符号文件再次连接设备会重新生成
DocumentationCache文档缓存下次打开文档重建
Products编译产物重新编译即可
UserData用户偏好、快捷键、模板会丢失自定义设置
iOSSimulator (CoreSimulator)模拟器系统镜像及应用数据删除后需重新下载模拟器镜像

💡 清理建议

  • 定期清理:DerivedData + Archives + DocumentationCache + 不用的 iOS DeviceSupport

  • 保留:UserData(避免丢失自定义设置)

http://www.xdnf.cn/news/19925.html

相关文章:

  • 【LeetCode热题100道笔记】缺失的第一个正数
  • 【CouponHub项目开发】使用RocketMQ5.x实现延时修改优惠券状态,并通过使用模板方法模式重构消息队列发送功能
  • 3分钟快速了解ToDesk远程控制企业版的技术奥秘!
  • 为什么打印出来的 cJSON type 值和头文件定义的不一样?
  • git还原操作
  • ultralytics/nn/tasks.py源码学习笔记——核心函数parse_model
  • day2today3夏暮客的Python之路
  • 「逆向思维」的胜利:从“挤不上电梯”到“高效学习”的顶级心法
  • 2025年度GEO优化公司市场研究报告:技术驱动下的用户口碑洞察
  • Git的强软硬回退(三)
  • Docmost:面向现代团队的企业级Wiki
  • 鸿蒙:状态管理V2(V2装饰器的学习)
  • 超详细教程:一招一式教你将本地项目上传至GitHub
  • 【系统架构设计(13)】项目管理上:盈亏平衡分析与进度管理
  • SpringBoot 网络流量抓包与分析系统
  • 【RNN-LSTM-GRU】第一篇 序列建模基础:理解数据的“顺序”之力
  • Mac 使用 softhsm
  • 革新光纤锁模技术:《Light: Science Applications》报道纳米腔增强型可饱和吸收器
  • 质量管理里常见的缩写QA、QC、QE都是什么意思?
  • 彻底搞懂面向对象分析(OOA)
  • Linux内存管理章节一:深入浅出Linux内存管理:从物理内存到ARM32的用户与内核空间
  • 逻辑回归基础
  • .NET GcPDF V8.2 新版本:人工智能 PDF 处理
  • Spring Boot 根据配置优雅的决定实现类
  • Meshroom 2025.1.0安装及使用参数模板介绍:二维图片转三维重建
  • 因为对象装箱拆箱导致的空指针异常
  • C#强制类型转换(显示转换)和安全类型转换
  • 野火STM32Modbus主机读取寄存器/线圈失败(三)-尝试将存贮事件的地方改成数组(非必要解决方案)(附源码)
  • VBA中类的解读及应用第二十七讲:利用类完成查找的方案-5
  • SVT-AV1 svt_aom_motion_estimation_kernel 函数分析