加快XCode的編譯鏈接速度(200%+)—XCode編譯速度慢的解決方案

最近在開發一個大項目的時候遇到一個很頭疼的問題,由於項目代碼較多,每次都要編譯鏈接1分鐘左右,調試的時候很浪費時間,於是研究了一下如何提高編譯鏈接的速度,在這裏分享給大家。

提升編譯鏈接的速度主要有以下三個方式:

1. 提高XCode編譯時使用的線程數

defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4

XCode默認使用與CPU核數相同的線程來進行編譯,但由於編譯過程中的IO操作往往比CPU運算要多,因此適當的提升線程數可以在一定程度上加快編譯速度。本人採用的是4核的CPU,將線程數改爲8後編譯速度略有提升。


2. 將Debug Information Format改爲DWARF

在工程對應Target的Build Settings中,找到Debug Information Format這一項,將Debug時的DWARF with dSYM file改爲DWARF。

這一項設置的是是否將調試信息加入到可執行文件中,改爲DWARF後,如果程序崩潰,將無法輸出崩潰位置對應的函數堆棧,但由於Debug模式下可以在XCode中查看調試信息,所以改爲DWARF影響並不大。這一項更改完之後,可以大幅提升編譯速度。

需要注意的是,將Debug Information Format改爲DWARF之後,會導致在Debug窗口無法查看相關類類型的成員變量的值。當需要查看這些值時,可以將Debug Information Format改回DWARF with dSYM file,clean(必須)之後重新編譯即可。


3. 將Build Active Architecture Only改爲Yes

在工程對應Target的Build Settings中,找到Build Active Architecture Only這一項,將Debug時的No改爲Yes。

這一項設置的是是否僅編譯當前架構的版本,如果爲No,會編譯所有架構的版本。需要注意的是,此選項在Release模式下必須爲No,否則發佈的ipa在部分設備上將不能運行。這一項更改完之後,可以顯著提高編譯速度。


本人在設置完以上三個項之後,編譯時間從1分鐘左右減少到10秒左右,因此效果還是相當明顯的。


如果大家覺得對自己有幫助的話,還希望能幫頂一下,謝謝:)
轉載請註明出處,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章