如何提高XCode編譯速度、Xcode卡頓解決方案

如何提高XCode編譯速度:


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

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模式下必須為Yes,否則發布的ipa在部分設備上將不能運行。這一項更改完之后,可以顯著提高編譯速度。

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

Xcode卡頓解決方案:


1、禁用indexing


在終端(terminal) 輸入
defaults write com.apple.dt.XCode IDEIndexDisable 1

并重啟Xcode。
(新手勿用哈,附還原命令)
defaults write com.apple.dt.XCode IDEIndexDisable 0

2、減少系統記錄的最近打開數目數量

打開系統偏好設置——通用,把“最近使用的項目”由默認10,修改為5或者更少。



此時,不一定能立即加速,需要重新啟動系統。

3、提高XCode編譯時使用的線程數

defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4

4、 將Debug Information Format改為DWARF

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


5、將Build Active Architecture Only改為Yes

在工程對應Target的Build Settings中,找到Build Active Architecture Only這一項,將Debug時的No改為Yes。
這一項設置的是是否僅編譯當前架構的版本,如果為No,會編譯所有架構的版本。需要注意的是,此選項在Release模式下必須為No,否則發布的ipa在部分設備上將不能運行。這一項更改完之后,可以顯著提高編譯速度。


6、有些人習慣用Xcode提交代碼,不過我一般是分開的Xcode就負責編輯代碼,提交代碼的工具另外。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 公司在開發一個大項目的時候,這時候遇到一個很頭疼的問題,由于項目代碼較多,每次都要編譯鏈接,調試的時候很浪費時間,...
    劉應閱讀 7,395評論 1 10
  • 做了這么久的老項目,被蝸牛般的編譯速度折磨很久。估計很多同學也會遇到類似的問題。這里把平時自己如何加快XCode編...
    紙簡書生閱讀 9,237評論 2 44
  • 寫在前面 新到一個公司,拉下代碼后,發現編譯時間在10分鐘以上,不知道為啥這么長時間,之前開發過程中沒有遇到過這樣...
    vincentgemini閱讀 6,622評論 0 8
  • 提高Xcode編譯速度主要有一下三個方面 1. 提高Xcode編譯時使用的線程數 defaults write c...
    天天想念閱讀 717評論 0 1
  • 參考文章鏈接:關于Xcode編譯性能優化的研究工作總結 一、編譯時長優化Architectures 在Build ...
    夏天的風_song閱讀 1,805評論 0 2