文件分散在多个文件夹时如何正确迁移Xcode项目
Xcode分散关联文件项目迁移完整导出方案
你当前的问题根源是导入外部文件时未勾选「Copy items if needed」,项目仅保存文件引用,源文件实际存储在项目目录外的多个位置,直接拷贝项目文件夹会导致文件缺失。以下是两种可行的导出迁移方案:
方法1:先统一归集文件再迁移(推荐,可彻底解决文件分散问题)
- 在当前设备的Xcode项目根目录新建统一存储文件夹,可命名为
AllProjectSources - 打开Xcode项目,在左侧项目导航栏中逐个选中带黄色警告标识的引用文件,右键选择「Show in Finder」定位源文件的实际存储位置
- 将所有定位到的外部源文件复制到刚才新建的
AllProjectSources文件夹内 - 回到Xcode,删除原有外部引用文件,删除时仅选择「Remove Reference」,不要选择移至废纸篓
- 将
AllProjectSources中的所有文件重新拖入Xcode项目,弹出导入配置页时务必勾选 Copy items if needed,并勾选对应项目target - 执行一次全量编译,确认无文件缺失类报错后,整个项目的所有关联文件已全部归集到项目根目录下,直接拷贝整个项目文件夹到新设备即可正常使用
方法2:使用Xcode自带导出功能快速迁移
- 打开目标项目后,点击顶部菜单栏「File」→「Export」→「Export Project」
- 在弹出的导出配置窗口中勾选 Copy all referenced files 选项,选择导出路径后确认导出
- Xcode会自动扫描项目关联的所有外部引用文件,将其全部复制到导出的项目包中,导出后的文件夹可直接拷贝到新设备使用
注意事项
- 迁移前务必在原设备上做一次全量编译,排除隐式依赖缺失问题,避免迁移后出现无法编译的情况
- 如果项目使用CocoaPods、Carthage、Swift Package Manager等包管理器引入依赖,不需要拷贝依赖生成的文件夹,迁移到新设备后在项目根目录执行
pod install等对应命令重新生成依赖即可
内容的提问来源于stack exchange,提问作者Brian Kalski
相关产品推荐
相关产品推荐

