git合并导致项目无法打开(project.pbxproject)

最近经历了一次分之合并导致项目打不开的情况。按照网上的说法,找到了问题的根源project.pbxproject文件,该文件位于项目文件.xcodeproj中,使用右键查看包内容就可以找到。
但是网上说的是这个文件中会出现conflicts,和平常的conflicts一样存在有<<<< ===== >>>>这样的符号,但是我的pbxproject文件中完全没有这样的符号。估摸着是merge的时候git觉得没啥冲突直接就合在一起了。
有个哥们告诉我直接用xcode自带的git工具merge,这样两个分支不一样的地方就可视化了。但是pbxproject文件中两个分支不一样的地方还是蛮多的所以手动合并比较容易合错,并且有的时候这个git合并工具打开相当的慢,还容易导致xcode crash,因此该方案我并没有尝试成功。
然后在stackoverflow上看到有人推荐了一个叫kin的工具,在github上可以搜到。于是尝试了一下该工具.

  1. 首先两个分支进行merge
  2. 然后使用kin命令获取pbxproject中的问题信息(kin命令一定要在项目文件中包含xcodeproj文件的文件夹使用)
  3. 得到类似此图的消息
    这里写图片描述
    该信息中忽略掉前面的错误,只看最后一个与众不同的错误,然后打开pbxproject文件就可以看到该文件中9517行前后少了字段sourceTree,以及相应的},可以参照上下文的写法添加修改一下。

  4. 保存之后重新打开工程,发现工程是可以打开的(能看到整个目录结构)。

  5. 我的合并的问题到这基本就解决了,但是如果工程虽然可以打开,但是编译无法通过,发现少了文件,那么应该就是合并的时候文件丢失了,这个可能就需要你在执行合并之前先将整个工程文件copy一份,然后再使用之前的步骤解决pbxproject文件的问题。能编译工程以后,发现丢失的就将对应的文件手动add进来。(当然少了文件还有一种可能是文件确实应该被删除,但是合并的时候没有将相应的引入头文件的操作去掉。依旧是刚才在解决pbxproject文件配置的时候并没有完美的解决好这些文件引用问题,但是这种问题直接看pbxproject来解决感觉比较恶心)

如果对pbxproject文件结构感兴趣可以参考地址:http://blog.csdn.net/hsf_study/article/details/77865533

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值