我有時會看到我所做的更改顯示在第三次或第四次生成運行。就好像xcode「緩存」舊的編譯。Xcode是否始終從頭編譯
如何刪除所有編譯文件,並從頭開始
有一兩件事特別frustating是這樣的:
我得到一個編譯此代碼警告
: [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」,因此不應更改任何內容。猜猜看,它有效。
但後來我想,這就是問題所在。我好奇地刪除/#再次導入「Business.h」,所以它像往常一樣回來。如果這真的是問題,那麼錯誤應該再次顯示正確嗎?錯誤。
錯誤消失了。
因此,我所做的更改沒有立即顯示結果。編譯器或預編譯器都必須使用某種緩存。
這很重要。在我不知道如何調試之前,有2-3個構建版本的bug。如果代碼在第一次構建之後立即發生變化,那麼我知道發生了什麼錯誤。
此外,該autorestore似乎並沒有工作。我創建了一個快照,將快照恢復到另一個目錄並且出現了很多編譯錯誤。
按照以下步驟解決問題,轉到生成 - >清理所有目標。你會完成,然後再次編譯並運行以查看你的更改 – 2011-06-16 09:32:06