多人开发Xcode工程冲突,打不开解决办法
在公司多人协作开发,相信好多程序员都遇到非常忧伤的问题,
就是工程打不开,这样就无从下手,好多程序怨只能再从代码服务器上下载一份新的代码,今天军哥教你几个小技巧,让你的bigger瞬间提升一个档次

出现这种问题是因为多人开发中,同时修改了工程文件(小码哥彩票.xcodeproj),或者storyboard,xib,Assets.xcassets,文件,就是系统工程配置文件,导致工程打不开
解决方案
第一种解决方案 - 图形化界面
1.选中工程文件->右键显示包内容
右键显示包内容2.双击这个文件,用Xcode打开
双击这个文件,用Xcode打开- 3.打开之后显示这个样纸
打开之后显示这个样纸
- 4.使用快捷键 cmd + F(搜索),在弹出的搜索框中输
<<<
或者>>>
或者====
,其中的任何一个都行,然后敲一下回车(enter键)

- 4.说明
<<<<<<< HEAD
代表是工程文件冲突的开始=====
分割线>>>>>>> d0d695000a8e250672dad0b7954d7d18a6cc17a0
结束

-5.删掉>>>HEAD
和===
和>>>>>>>d0d695000a8e250672dad0b7954d7d18a6cc17a0
,E16D957A1CD616610095F921 /* Resource */
和E1F1D2271CD602F5002AC55F /* MainViewController.swift */
保留一个
- 6.删除之后

- 7.重复查找,如果还有冲突的地方,同上
- 8.保存
cmd + s
一定要保存 - 9, (OK)到这里你的工程文件已经可以打开了
- 10.打工告成

第二种解决方案-终端(命令行)
- 1.cd 进入Xcode工程文件夹

- 2.输入 ls(查看这个路径下的目录)
查看当前路径下的文件
- 3.输入
cd vim project.pbxproj
用vim编辑器查看工程文件回车进入工程文件 - 4.看到的效果就是这样
看到的效果就是这样
- 5.科普 vim 编辑器的命令
i 编辑
/ 查找
dd 删除光标所在行
shift + zz 保存并退出
:w 将缓冲区写入文件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果对缓冲区进行过修改,则会提示
:q! 强制退出,放弃修改
注意: 在Vim编辑器下输入命令是英文状态
- 6.输入
/ << + 回车
定位冲突地方如图 - 7.输入
dd
a.删除 <<<HEAD
b. 删除 ====
c.删除 >>>>>>>d0d695000a8e250672dad0b7954d7d18a6cc17a
d. 删除 E16D957A1CD616610095F921 /* Resource */,
或者
E1F1D2271CD602F5002AC55F /* MainViewController.swift */,
自己选择 - 8.按照再次查询如果还有错误重复第 6 和第7步
- 9.直到出现
E486: Pattern not found: <<
没有发现错误 - 10.到这里离成功仅差1步,保存 输入
shfit + zz
或者:wq
保存并退出 - 11 OK 大工告成,你可以再次直接打开工程了,这个时候你会发现工程已经可以打开了
工程已经打开,是不是觉得so easy
到这里相信大家都会了,如果觉得命令行不太好用的话,可以先用图形化界面,然后慢慢使用命令行,如果用命令行用的熟练的话,你会觉得非常好用
多人开发Xcode工程冲突,打不开解决办法的更多相关文章
- SVN版本更新后,upData工程之后,Xcode 工程文件打不开解决办法
svn更新代码后,打开xcode工程文件,会出现 xxx..xcodeproj cannot be opened becausethe project file cannot be parsed. ...
- iOS - xcode经常报的经典error解决办法大全
1.错误信息: 2015-10-28 10:39:55.933 XFW[2696:55982] *** Assertion failure in -[UITableView _configureCel ...
- Ext JS treegrid 发生的在tree上增加itemclick 与在其它列上增加actioncolumn 发生事件冲突(event conflict)的解决办法
Ext JS treegrid 发生的在tree上增加itemclick 与在其它列上增加actioncolumn 发生事件冲突(event conflict)的解决办法 最近在适用Ext JS4开发 ...
- Xcode工程文件打不开:cannot be opened because the project file cannot be parsed
svn更新代码后,打开xcode工程文件,会出现 xxx..xcodeproj cannot be opened because the project file cannot be parsed ...
- Android开发 |常见的内存泄漏问题及解决办法
在Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要 ...
- 微信支付之扫码支付开发:我遇到的坑及解决办法(附:Ecshop 微信支付插件)
前段时间帮一个朋友的基于ecshop开发的商城加入微信扫描支付功能,本以为是很简单的事儿——下载官方sdk或开发帮助文档,按着里面的做就ok了,谁知折腾了两三天的时间才算搞定,中间也带着疑问在网上找了 ...
- Quartus ii 12.1软件破解之后编译原有的工程出现报警错误的解决办法
在Quartus ii 12.1软件破解之后,想用来编译原来编译过的工程,但是编译到最后出现下面两个错误警告: 原来以为没有破解成功或者安装的时候有文件被杀毒软件吃了,导致安装错误,又重新安装了两次都 ...
- Android Studio中每次打开工程Gradle sync龟速解决办法
问题描述 自己使用android studio后,发现每次一打开工程,软件就在Grandle sync.sync就算了,而且这个步骤还必须过TZ,并且时间超级长,可能睡完觉起来还没有下载好.下面是正在 ...
- 微信Webapp开发的各种变态路由需求及解决办法!
前言 最近在使用BUI Webapp开发的一个小商城项目在微信上遇到一些坑及变态需求, 层层深入, 整理一下给后来人参考. 一定有你还不知道的! 调试缓存 问题描述: 微信打开的web页面默认是会缓存 ...
随机推荐
- Web Fundamentsals学习1-Multiple-Screen-Site
你的一个运行于多设备网站(Your First Multi-device Site) 遵循的步骤: 1.定义信息架构(information architecture)和页面结构(structure ...
- 楼主,可否发一份代码给我!QQ....
一般来说,但凡博主写一篇很赞的文章,然后贴上演示demo的图片或者结果之后,下面一定有一大堆要代码的.不论你在博客中,把算法讲得多么透彻清晰,各种流程图伪代码一清二楚:也不论你提出了任何漂亮的思路和设 ...
- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log. 一般可通 ...
- MySQL分区表的管理~2
一.维护分区 对于表的维护,我们一般有如下几种方式: CHECK TABLE, OPTIMIZE TABLE, ANALYZE TABLE和REPAIR TABLE. 而这几种方式,对于分区同样适用. ...
- Struts2环境下Tomcat启动异常:Exception starting filter struts2,报了一个java.lang.ClassNotFoundException
在写一个struts2+hibernate整合的小例子时,启动Tomcat服务器,报了一个: 严重: Exception starting filter struts2java.lang.ClassN ...
- 软件工程 Android小游戏 猜拳大战
一.前言 最近学校举办的大学生程序设计竞赛,自己利用课余时间写了一个小游戏,最近一直在忙这个写这个小游戏,参加比赛,最终是老师说自己写的简单,可以做的更复杂的点的.加油 二.内容简介 自己玩过Andr ...
- APP接口自动化测试JAVA+TestNG(三)之HTTP接口测试实例
前言 前两篇普及相关基础知识后,本篇主要对举例对国家气象局接口自动化测试进行讲解(Get请求及结果断言),以达到自动化测试入门目的,除了前两篇的一些了解外,需要有一定的JAVA知识(HTTP相 ...
- HTML基本结构
HTML简介 HyperText Markup Language:超文本标记语言 HyperText:超文本(文本 + 图片 + 视频 + 音频 + 链接) Markup Language:标记语言 ...
- Get和Post区别
1. get是从服务器上获取数据,post是向服务器传送数据.2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过H ...
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...