XCode编译运行出错解决思路,以及再次推荐AppCode

科技界三巨头

如果按用户体验排名,依次是:苹果,微软,谷歌

但如果按开发体验排名,则是:微软,谷歌,苹果

当然,很多体验细节跟每个人的开发领域有关,但大体上是没问题的。


苹果的开发工具和体验做的烂,基本上是业界出名的。这个烂指的是稳定性,和基础功能。

比如,非常让人诟病的,到现在都没有解决的,文件夹资源同步机制(这个问题牵扯到XCode的底层设计,估计永远都不可能解决了。)

比如,C++的支持问题(重构,搜索,调试等)。


比如,本篇讨论的,XCode各种异常,无法编译,无法启动,无法连接到调试器。这个问题是让人沮丧的,基本上每个开发者都在这些问题上,浪费了几十小时的时间。有些人甚至浪费了数百小时。


如果遇到模拟器异常,大致的思路是:


   排除自身工程问题:

  1. 按照网络上资料,尝试检查工程,比如Copy Bundle Resources里面是不应该有info.plist文件的,这个鄙视一下cocos,他们的之前的工程模板里面对这个info.plist安装存在误导,在1.x2.x时代很多问题都由这个引起。不过现在好像改了。

  2. Bundle重复问题

  3.如果有可能check一份新的工程,重新导入修改的文件


  修理XCode:   

  1. 双清(reset模拟器,clean工程),如果没解决就step2

  2. cd到目录下,删除设备资料和应用程序,然后再执行step1,再run,如果没解决就step3

  3. 删除XCode,进行重装。不要使用MacAppStore下载,龟速,在国内网盘中有很多搬运的。


在寻找解决办法时要注意

  1. 如果不行,不要反复尝试,因为XCode的错误复现率还是很高的,不要在这上面浪费时间

  2. 不同原因可能造成相同的错误。其他人的解决方案,不一定能解决你的问题

  3. 不论发生什么事,一定不要重装系统,不一定解决(XCode不像VS,一旦损坏基本只能重装系统)而且代价太高


最后,推荐一个神器AppCode。这是喷脑浆公司提供的开发IDE。对比XCode他的优势在于:

  1. History ClipBoard

  2. 带分类的Find Usages

  3. Refactor

  4. 各种Generate

  5. Column Selection Mode,数学算法领域的排版神器

  6. Unused着色提示,TODO着色提示等

  7. Compare With ClipBoard 

   ……


还有一个,如果你在一个工程里嵌入其他工程,比如你写了个lib,在很多工程里嵌入,如果你用XCode同时打开两个这种工程(这是很常见的操作),首先你是无法正常打开的,其中一个会报错,然后,你是无法编译的。AppCode很好的解决了这个问题。


还有一个,AppCode可以不调试直接运行的,如果你只是使用log,可以用这种方式救急。


还有一个,虽然AppCode是商业软件,但是如果你是开源开发者,可以申请免费的license。这点很让人称道。


最后,我第一次访问AppCode主页时,看到上面写着“iOS出来时,大家都很高兴,但是,用了XCode后,我们都诅咒JOBS”(大意是,后来找不到了,也许删掉了)。


so cool,他们是一家有态度的公司。






 本文转自 老G 51CTO博客,原文链接:http://blog.51cto.com/goldlion/1543040,如需转载请自行联系原作者

上一篇:协同致胜,企业如何选择适合的办公软件


下一篇:django migrate 报错(You have an error in your SQL syntax)