在使用git合并两个分支的时候,如果两个分支均存在增删文件的情况,如新增类文件或删除某个类,就可能会导致project.pbxproj出现冲突,如图1所示
解决的办法对project.pbxproj中的所有冲突全部使用其中一个版本,并记录下另一个版本被覆盖掉的文件名,如使用我的版本,就需要记下他人版本被覆盖掉的文件.
接着编译运行,会有很多相关的报错提示,修正办法如下
1.找到Compile Sources 以及 底下的Copy Bundle Resource,删除空的文件,如图2 图3 所示
2.依照之前的记录重新添加被覆盖掉的文件. 这里需要注意的是文件其实仍存在项目里,只是引用被删除了,你只需要从项目里找出那个类从新拖进来即可.还有一种情况是记录中被覆盖的文件仍在项目里,但此时文件的引用其实已经被破坏,需要删除旧的引用(如图4),再从项目里添加,否则程序运行起来仍会崩溃.
分支的合并应尽量早进行,拖得太久将会耗费很多精力在合并上.