讀古今文學網 > iOS編程基礎:Swift、Xcode和Cocoa入門指南 > 9.7 清理 >

9.7 清理

有時,在重複的測試與調試期間,最好在進行不同類型的構建前(從Debug切換到Release,或從模擬器切換到設備中運行)清理目標。這意味著將會刪除現有的構建並清除緩存,這樣所有代碼才會被編譯,下一次構建才會從頭開始構建應用。

與字面上的意思一樣,清理會清除不需要的東西。比如,假設應用中包含了某個資源,但未來不再需要。可以在Copy Bundle Resources構建階段將其刪除(或從項目中刪除),不過這並不會從構建好的應用中刪除。這種殘留資源會導致一些莫名其妙的問題。錯誤的nib版本可能會出現在界面中;編輯過的代碼行為可能與編輯前一樣。清理則會刪除構建好的應用,很快就能解決問題。

我將清理劃分為幾個層次:

淺層清理

選擇Product→Clean,它會刪除構建好的應用以及構建目錄中的一些中間信息。

深層清理

按住Option鍵並選擇Product→Clean Build Folder,它會刪除整個構建目錄。

完全清理

關閉項目。打開項目窗口(Window→Projects)。找到左側列出的項目並單擊。在右側選擇Delete。這會刪除用戶目錄下Library/Developer/Xcode/DerivedData目錄中的全部目錄。

徹底清理

關閉Xcode。打開用戶目錄下的/Developer/Xcode/DerivedData,將其內容全部移至廢紙簍。這是對最近打開的所有項目的完全清理,再加上模塊緩存。刪除模塊緩存會重置Swift本身,這可能會導致一些編輯、代碼完成或語法著色等出現問題。

除了清理項目,你還應該將模擬器中的應用刪除。原因與清理項目一樣:當應用構建完畢並被複製到模擬器中時,構建好的應用中的已有資源可能不會被刪除(為了節省時間),這可能會導致應用表現出不正確的行為。要在運行模擬器時進行清理,請選擇iOS Simulator→Reset Content and Settings。