有个顽固的文件夹叫Build

直接移动项目文件夹,会导致运行的时候只运行移动之前的版本,所以在项目文件夹发生移动之后,记得顺手把项目文件夹当中的里面的 Build 文件夹删除。

昨天忽然兴起,于是整理了一下我的电脑文件。特地给几个项目文件重新安置了一个文件夹,方便使用。
结果这个坑,就这样给自己挖好了。

整理好文件之后,就接着开始写代码的欢乐时光了。于是打开项目文件,啪啪啪各种欢快的敲好代码。然后运行看看效果。

这时候,我才发现,我掉坑里了。不管我修改了什么代码,运行的时候,都自动运行以前的版本。甚至,我直接把 AppDelegate 文件给删了,然后点击运行。几秒后,程序正常启动……此刻崩溃的是我的内心。

于是各种百度,Google,必应……无果。
详细的一行行查看 Build Settings 里的选项……无果。
然后查看文件夹,发现,在原来的项目文件夹目录下,自动新建了一个文件夹,名称跟项目文件是一致的。再接着看下去,里面有个 Build 文件夹,里面装了编译好的应用。

此刻,重大的嫌疑犯登场。我仿佛柯南上身,立马觉得,真相,离我不远了。于是顺着查下去,发现,原来我项目文件当中也是有一个 Build 文件夹的。接着我开始对这两个文件夹各种增删改的实验。

最终,我确定,上我身的,其实是毛利小五郎。此刻我的膝盖也是碎掉了的。

于是……我开始求助我认识的各种大牛,老师……无果。

万般无奈之下,居然在一次实验当中。我发现,我成功了。模拟器成功过运行了修改后的代码文件。(于是应用崩溃了,还记得我把AppDelegate删了吗。但是,我的内心又燃起了希望。)无奈的是……我完全不记得自己刚刚做了什么关键的操作……

不过,好歹,希望是有的,于是,我新建一个项目。开始了对比实验。

……

最终,凶手就是 Build 文件夹!(毛利小五郎表示,靠!)

在我们新建 Project 的时候,Build 文件夹是不会建立的,它只会在你第一次打开项目的 xcodeproj 文件时自动检测并建立。虽然不知道是出于哪个位置的配置,总之建立之后,它的位置就固定了。在你移动项目文件夹并打开项目时,如果项目文件夹下 Build 文件夹已经还存在,那他会在原始文件夹目录下重新建立 Build 文件夹。于是,这个坑,就这样出来了。

而解决的办法也很简单。移动项目文件的时候,删除 Build 文件夹。然后才打开 xcodeproj 文件。然后,你就可以愉快的玩耍了。

后记:更新于20150819


有不少小伙伴跟我反应说,其实他们根本就没有自动创建 Build 文件夹。于是,我又翻查了不少资料。

最终发现,Build 文件夹是肯定要有的,只是默认情况下,并不会生成在项目文件当中,而是在Xcode的默认文档当中。

而要让 Build 文件夹在项目文件中也生成一份。(里面有已经编译好的文件,所以,也许是会有人要用到的吧。)只需要依次打开下列选项即可设置。

Xcode -> Preferences -> Location -> Locations -> Derived Data -> Advandced -> Build Location -> Location specified by targets

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,581评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,594评论 9 467
  • 文/小而不才 今天,师弟兴冲冲地告诉我,他可能要加入研究生会的编辑部,下午刚刚通过面试,他申请的是编辑部,又听说我...
    小而不才阅读 247评论 0 3
  • 姓名:张冰 公司:宁波禾隆新材料有限公司 组别:312期努力一组 【日精进打卡第60天】 【知~学习】 《六项精进...
    木头戏阅读 250评论 0 0