源代碼和三方庫引入很多的時候,我們會發現編譯的速度很慢。在了解了XCode的編譯過程后,我們可以從以下角度來優化編譯速度:
A.查看編譯時間方法:
1.關閉XCode
2.終端輸入指令:
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
3.重啟XCode打開項目,command+B運行,即可查看編譯時間,如圖所示:
image.png
B.優化編譯速度方法:
1.代碼層面的優化
forward declaration
所謂forward declaration,就是@class CLASSNAME,而不是#import
CLASSNAME.h。這樣,編譯器能大大提高#import的替換速度。
對常用的工具類進行打包(Framework/.a)打包成Framework或者靜態庫,這樣編譯的時候這部分代碼就不需要重新編譯了。
常用頭文件放到預編譯文件里
XCode的pch文件是預編譯文件,這里的內容在執行XCode build之前就已經被預編譯,并且引入到每一個.m文件里了。
2.編譯器選項優化
Debug模式下,不生成dsym文件,dysm文件里存儲了調試信息,在Debug模式下,我們可以借助XCode和LLDB進行調試。
所以,不需要生成額外的dsym文件來降低編譯速度。
Debug開啟Build Active Architecture Only
在XCode -> Build Settings -> Build Active Architecture Only 改為YES。
這樣做,可以只編譯當前的版本,比如arm7/arm64等等,記得只開啟Debug模式。
這個選項在高版本的XCode中自動開啟了。
3.編譯器優化
Debug模式下,關閉編譯器優化
image.png