iOS project.pbxproj文件解析

代码合并后经常出现.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>";
		};
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值