2011-11-10 109 views
68

您在每個應用程序的開發中都會遇到您在模擬器中看到的內容與您認爲應該發生的內容不匹配的情況。大多數情況下這些都是人爲錯誤 - 或者至少它們大部分都在我的個案中;-) - 但是有時候Xcode只是「失蹤」,或者看起來如此。我知道Clean(Shift + Cmd + K)和Clean Build Folder…(Option + Shift + Command + K)菜單選項可以顯示你的錯誤或Xcode的差異。XCode 4「清潔」與「清潔生成文件夾」

我的問題,雖然是:

什麼是Clean命令做還是不做,留下一個原因Clean Build Folder…存在嗎?我應該什麼時候選擇一個,爲什麼不總是清理整個文件夾?

+0

您可能會發現在[這個可能重複問題]一些答案(http://stackoverflow.com/questions/ 5714372 /如何對空緩存和清潔,所有的目標,Xcode的-4)。 –

+1

可能有一些隱藏的線索存在,但它是完全沒有重複的問題。我是關於乾淨和乾淨的生成文件夾之間的區別,兩個非常相似的看命令。但是,謝謝你的擡頭。 – epologee

回答

70

Clean…清除當前選定目標的文件夾。
Clean Build Folder…清理所有目標的文件夾。

+0

這應該是被接受的答案。 –

+4

這是模糊的,在「所有目標的文件夾」即撇號。你的意思是「爲所有目標文件夾,或是否有與選中目標相關聯的一些其他文件夾? –

+0

這個答案是不完整的。'乾淨的構建Folder'解決了只有一個單一的目標項目的問題。 –

84

如果您從產品菜單中選擇Clean,XCode將刪除Build文件夾中每個文件夾內的文件,如果您選擇Clean Build Folder它將刪除整個Build文件夾。

Clean命令:

enter image description here 命令後Clean Build Folder:當

enter image description here

我想你應該選擇Clean Build Folder當你想構建一個要釋放到AppStore的二進制,你搞砸了你的項目,或者當你的應用程序因「未知」原因而無法工作,否則使用Clean

我希望我已經回答了你的問題:d

+2

非常明確的答覆,謝謝!而對於圖像的+1 :) – epologee

+3

對不起,是持懷疑態度,但是這似乎很奇怪。你是說兩者之間的唯一區別是,一個刪除的文件夾和其他保持文件夾,但會刪除所有內容嗎?什麼是有四個空文件夾的區別是什麼?然而,清理和有時需要清理構建文件夾有一個明顯的區別... – jowie

+3

是的,這是唯一的區別。我個人使用「清潔」在構建iOS模擬器的應用程序之前或我有奇怪的問題與代碼和/或Xcode和「乾淨生成文件夾」當我想以一個應用程序發佈到App Store或當我想確保我的一個pp是從零開始構建的,沒有緩存。 – Aluminum

4

如果選擇「清潔」時,Xcode將刪除的每個文件夾內的文件中生成文件夾,爲當前的目標(例如,產品,中間體)。其他目標的文件仍然存在。

如果您選擇「Clean Build Folder」,Xcode將刪除整個Build文件夾,所以一切都沒有了。

在大多數情況下,「清潔」,將「未知」的原因的工作,但你還是要「清理build文件夾」,因爲Xcode的不刪檔在包括文件夾內產品文件夾。

0

某些文件在~/Library/Developer/Xcode/DerivedData/xxx-ABCD,其中xxx是您的項目或工作區的名稱,在您CleanClean Build Folder...之後已被刪除。很明顯,Clean Build Folder...會刪除比Clean還要多的文件。但是,我認爲在某些情況下需要刪除之前提到的文件夾,例如您的Xcode無法正常工作。

順便說一句,事情已經改變了Xcode中8,Build文件夾保存所有相同的後Clean Build Folder...