代码合并后经常出现.xcodeproj文件无法打开的情况,原因是其包内的project.pbxproj文件格式出了问题。
一、project.pbxproj文件格式如下:
/* Begin PBXBuildFile section */
/* Begin PBXBuildRule section */
/* Begin PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
/* Begin PBXNativeTarget section */
/* Begin PBXProject section */
/* Begin PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
/* Begin PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
/* Begin XCConfigurationList section */
二、考虑分支A、分支B分别增加了文件后,进行分支合并的情况,在PBXGroup段之外,可以将
<<<
===
>>>
直接删除,进行合并。但是在PBXGroup段内,注意不要合并,否则会出现PBXGroup项目的格式问题。
三、错误、正确格式比较
错误:
5F85873B24F89584001C7B90 /* RouterManager */ = {
isa = PBXGroup;
children = (
5F85873C24F895BA001C7B90 /* RouterManager.h */,
5F85873D24F895BA001C7B90 /* RouterManager.m */,
5F85873F24F89BAE001C7B90 /* RouterModel.h */,
5F85874024F89BAE001C7B90 /* RouterModel.m */,
);
path = RouterManager;
5F55D23F24FE5B0C001AE847 /* NSString+FilePath */ = {
isa = PBXGroup;
children = (
5F55D24024FE5B2C001AE847 /* NSString+FilePath.h */,
5F55D24124FE5B2C001AE847 /* NSString+FilePath.m */,
);
path = "NSString+FilePath";
sourceTree = "<group>";
};
正确:
5F85873B24F89584001C7B90 /* RouterManager */ = {
isa = PBXGroup;
children = (
5F85873C24F895BA001C7B90 /* RouterManager.h */,
5F85873D24F895BA001C7B90 /* RouterManager.m */,
5F85873F24F89BAE001C7B90 /* RouterModel.h */,
5F85874024F89BAE001C7B90 /* RouterModel.m */,
);
path = RouterManager;
sourceTree = "<group>";
};