提高Xcode編譯速度主要有一下三個方面
1. 提高Xcode編譯時使用的線程數
defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4
Xcode默認使用與CPU核數相同的線程來進行編譯,但由于編譯過程中的IO操作往往比CPU運算要多,因此適當的提升線程數可以在一定程度上加快編譯速度。
2. 將Debug Information Format改為DWARF
在工程對應Target的Build Settings中,找到Debug Information Format這一項,將Debug時的DWARF with dSYM file改為DWARF。
這一項設置的是是否將調試信息加入到可執行文件中,改為DWARF后,如果程序崩潰,將無法輸出崩潰位置對應的函數堆棧,但由于Debug模式下可以在Xcode中查看調試信息,所以改為DWARF影響并不大。這一項更改完之后,可以大幅提升編譯速度。
3. 將Build Active Architecture Only改為Yes
在工程對應Target的Build Settings中,找到Build Active Architecture Only這一項,將Debug時的No改為Yes。
這一項設置的是是否僅編譯當前架構的版本,如果為No,會編譯所有架構的版本。需要注意的是,此選項在Release模式下必須為Yes,否則發布的ipa在部分設備上將不能運行。這一項更改完之后,可以顯著提高編譯速度。
其他
在Xcode6之前,工程文件中一般都有一個pch文件。pch預編譯文件被去掉的原因是增加build時間。去掉pch文件減少了程序的便利性如果工程中有pch文件,可以將Precompile Prefix Header為YES,預編譯后的pch文件會被緩存起來,可以提高編譯速度。