我有时会看到我所做的更改出现在第三次或第四次构建运行中。就像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似乎不起作用。我创建了一个快照,将快照恢复到另一个目录并获得大量编译错误。
答案 0 :(得分:4)
Xcode执行增量构建。您可以转到Product
菜单项并选择Clean
(或按Shift+Cmd+K
)来进行整洁构建。这将删除所有中间文件并从头开始。
答案 1 :(得分:4)
不,它只编译发生任何编辑的文件。
答案 2 :(得分:2)
点击xcode - >空缓存。
这是截图。