iOS 开发 xcode中的project.pbxproj–深入剖析
1.前言
xcode将我们对项目的配置信息,统一写到了project.pbxproj文件里,一般情况下,我们是不需要直接和project.pbxproj打交道的,我们通过编辑xcode里面的选项,如buildsetting,general来修改pbxproj文件
用git/svn等工具协作时,经常遇到project.pbxproj冲突.每次这么处理都很麻烦,很多时候度娘也解决不了,导致团队开发时一部分时间浪费在了解决冲突上.大型工程一般由多个开发人员共同开发,而每一个开发人员的开发证书配置文件都有可能不同,配置证书的不同经常会导致编译的失败。此时,通过xcode几乎无法解决问题,而在编译前,通过修改pbxproj文件证书配置信息就能很好的解决该问题
所在位置–选中工程文件,右键单击,显示包内容
双击project.pbxproj文件
Xcode打开project.pbxproj文件—是不是看起来很苦涩的感觉
Xcode的工程文件是 工程名.xcodeproj,而它其实是个package目录,通过显示包内容,可以查看到它内部主要有project.pbxproj 和 xcuserdata。其中,xcuserdata 一般是跟用户相关的一些设置,如断点 记录等,一般不用放到版本管理中。而project.pbxproj 是工程描述文件,描述了工程里的源码文件、schema设置等。它的格式是文本类型的plist(Info.plist是binary plist),里面是一个一个的object,具体的各种object定义可以参见文末给出的链接。
project.pbxproj 的合并历来都是代码版本管理的噩梦。特别是当代码框架进行重构时,纯手工合并,简直就是不要不要的。