最近在一個大型項目的開發的時候遇到一個很頭疼的問題,因爲該項目的代碼更,每次創建聯繫1紀要。浪費時間調試。所以,一些研究如何提升編譯連接速度,這裏給你們分享。架構
爲了提升編譯和連接的是如下三種方式的速度:app
1. 增長XCode編譯時使用的線程數函數
defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4
本人採用的是4核的CPU,將線程數改成8後編譯速度略有提高。ui
2. 將Debug Information Format改成DWARF.net
在project相應Target的Build Settings中,找到Debug Information Format這一項,將Debug時的DWARF with dSYM file改成DWARF。線程
這一項設置的是是否將調試信息增長到可執行文件裏,改成DWARF後,假設程序崩潰,將沒法輸出崩潰位置相應的函數堆棧,但由於Debug模式下可以在XCode中查看調試信息。因此改成DWARF影響並不大。調試
這一項更改完以後,可以大幅提高編譯速度。code
需要注意的是,將Debug Information Format改成DWARF以後。會致使在Debug窗體沒法查看相關類類型的成員變量的值。當需要查看這些值時,可以將Debug Information Format改回DWARF with dSYM file,clean(必須)以後又一次編譯就能夠。orm
3. 將Build Active Architecture Only改成Yesblog
在project相應Target的Build Settings中,找到Build Active Architecture Only這一項,將Debug時的No改成Yes。
這一項設置的是是否僅編譯當前架構的版本號,假設爲No,會編譯所有架構的版本號。需要注意的是,此選項在Release模式下必須爲No。不然公佈的ipa在部分設備上將不能執行。
這一項更改完以後,可以顯著提升編譯速度。
本人在設置完以上三個項以後。編譯時間從1分鐘左右下降到10秒左右,所以效果仍是至關明顯的。