Xcode总是从头开始编译

时间:2011-06-16 09:09:19

标签: iphone objective-c xcode

我有时会看到我所做的更改出现在第三次或第四次构建运行中。就像xcode“缓存”旧的编译一样。

如何删除所有已编译的文件并从头开始

有一点特别令人沮丧的是:

我收到了编译警告

代码:  [self.currentBusiness addCategoriesObject:self.currentCategory];

我知道这是什么问题。自动生成的核心数据代码没有 - (void)addDistrictsObject:(District *)value; - (void)addCategoriesObject :( Category *)value;

在Business.h上

。该函数在Business.m中定义。

所以我添加了这两行。猜猜是什么,仍然是同样的警告。我有几个完全相同的问题没有问题。我知道解决方案。我把这行放在business.h中。什么都没有改变。

但是现在我得到了相同的编译器警告,即使该方法在business.h中已明确定义。

好像xcode不关心我最后的改变。

我很沮丧。我在我的utilities.h中再次添加了#import“Business.h”。鉴于已经通过其他渠道包含“Business.h”,不应该更改任何内容。猜猜是什么,它有效。

然后我想,啊,这就是问题所在。我好奇地删除了// #import“Business.h”,所以它像往常一样回来了。如果这确实是问题,那么错误应该再次出现吗?错。

错误消失了。

所以我做的改变不会马上显示结果。编译器或预编译器必须使用某种缓存。

这很重要。在我不知道如何调试之前,有2-3个版本引入了错误。如果在我做出改变之后第一次构建后代码发生了变化,我就知道出了问题。

此外,autorestore似乎不起作用。我创建了一个快照,将快照恢复到另一个目录并获得大量编译错误。

3 个答案:

答案 0 :(得分:4)

Xcode执行增量构建。您可以转到Product菜单项并选择Clean(或按Shift+Cmd+K)来进行整洁构建。这将删除所有中间文件并从头开始。

答案 1 :(得分:4)

不,它只编译发生任何编辑的文件。

答案 2 :(得分:2)

点击xcode - >空缓存。

这是截图。

xcode