Xcode Interface Builder中移动项目文件及配置方法
Xcode项目分离目录的整理操作指南
两种可选整理方案的成本对比
- 优先推荐把
My System.xcodeproj移动到存放其他项目源文件的文件夹内,这个方案的调整成本是最低的。反过来把所有源文件、资源文件全移到xcodeproj所在的上级目录,会触发大量引用路径的批量重定位,操作繁琐还容易漏改出问题 - Xcode默认会把xcodeproj所在的目录作为所有相对路径的计算根,移动xcodeproj的操作本质只是换了路径计算的基准点,不会牵扯大量零散文件的位置变更,实际操作过同类型路径错位的问题,全程调整时间一般不超过10分钟
移动完成后需要修改的Xcode配置项
第一次打开移动后的项目如果看到文件标红缺失,按顺序核对以下配置即可,不需要大改项目设置:
- 先逐个检查项目导航器里所有标红的文件/分组:对单个红色缺失的文件,打开右侧文件检查器,找到
Location选项,把引用路径重新指向文件的实际新位置,保持引用规则为Relative to Project即可,不要设置为绝对路径,避免后续换设备打开又出现路径报错 - 核对构建配置里的核心路径变量:打开项目的
Build Settings,搜索SRCROOT,Xcode会自动把当前xcodeproj所在目录赋值给这个变量,正常情况下不需要手动修改;只要确认Info.plist File的配置项没有出现红色路径报错就可以 - 因为你是纯Objective-C开发、没有使用Storyboard,不需要额外检查UI文件的路径引用,只需要补充核对两个容易出问题的节点:
- 确认
Copy Bundle Resources构建阶段里的资源文件没有红标缺失 - 确认链接的系统framework、第三方静态库的引用路径没有失效
- 确认
要不要做这次文件整理的判断标准
- 如果当前项目可以正常编译运行、没有频繁弹出文件缺失的报错、也没有后续要把项目推送到Git协作、接入第三方依赖管理工具的需求,完全可以维持现状,Xcode本身不强制要求项目文件和xcodeproj放在同一目录
- 如果满足以下任意一种情况,就值得花十几分钟做整理:
- 需要把项目代码推送到远程仓库分离存储,当前的目录拆分很容易出现提交遗漏,其他协作者拉取代码后会出现大面积文件缺失
- 后续要接入CocoaPods等依赖管理工具,拆分的目录结构很容易导致Pod工作区配置和项目根目录不匹配,出现编译报错
- 平时需要频繁查找源文件、导入资源,拆分的目录结构每次都需要跳转多层文件夹,操作效率很低
内容的提问来源于stack exchange,提问作者Freddy112288
相关产品推荐
相关产品推荐

