如何阻止Xcode项目自动生成Index与Build文件夹?求助设置方法
解决Xcode新建项目自动生成Index和Build文件夹占用空间的问题
嘿,我之前也踩过这个坑!每次新建Xcode项目,根目录里自动冒出来的Index和Build文件夹真的太占地方了,尤其是攒了一堆项目的时候,存储空间蹭蹭往下掉。别担心,这确实是Xcode的设置问题,下面给你分享几个亲测有效的解决方法:
先搞懂这俩文件夹为啥会出现在项目目录里
- Build文件夹:是Xcode编译项目时生成的中间文件、编译产物(比如.app安装包),默认情况下这些文件应该存在系统的
Derived Data专属目录里,不会出现在你的项目根目录。只有当你修改了Build位置的设置,才会跑到项目里来。 - Index文件夹:是Xcode的代码索引数据库,用来支持代码补全、跳转、实时语法检查等功能,同样默认也应该在
Derived Data里,设置错误才会出现在项目目录。
方法1:全局修改Xcode设置(一劳永逸,推荐!)
这个设置改完之后,所有新建的项目都会自动遵循,不会再在项目目录生成这俩文件夹:
- 打开Xcode,点击顶部菜单栏的
Xcode > Settings(或者直接按快捷键,) - 切换到
Locations标签页 - 在
Derived Data区域,点击Advanced按钮 - 选择
Unique选项(这是Xcode官方推荐的默认设置),它会把每个项目的Build和Index文件都存到~/Library/Developer/Xcode/DerivedData/目录下,每个项目都有独立的文件夹,不会污染你的项目目录 - 点击
Done保存设置就搞定了
方法2:针对单个项目调整设置
如果你只想改某个特定项目的设置:
- 打开目标项目,点击左侧导航栏最顶部的项目根节点
- 切换到
Project标签页(注意不是下面的Target项) - 找到
Build Settings标签,在搜索框里输入Build Location - 把
Build Location的设置改成Use Default Location - 再搜索
Index File Location,确保它的路径是默认的Derived Data路径(一般不需要手动改,改了Build Location之后会自动同步)
清理已经生成的文件夹
如果你的项目里已经有这俩文件夹了,直接删掉就行,不会影响项目运行:
- 先关闭Xcode,找到项目目录下的
Index和Build文件夹,直接拖去废纸篓清空 - 嫌手动删麻烦的话,也可以用终端命令快速清理:先进入项目目录,然后执行:
rm -rf Index/ Build/
额外小提示
- 千万不要把
Derived Data里的内容加到Git这类版本控制里!如果之前不小心加了,记得在.gitignore里加上Index/、Build/、DerivedData/这些规则,避免提交无用文件 - 定期清理
Derived Data可以释放大量空间,在Xcode的Settings > Locations里,点击Derived Data旁边的箭头就能打开文件夹,手动删除旧项目的文件,或者用Product > Clean Build Folder(快捷键Shift+Command+K)清理当前项目的Build文件
内容的提问来源于stack exchange,提问作者Gourav Sharma




