XCode 加快編譯鏈接速度的方法
加快XCode的編譯鏈接速度,XCode編譯速度慢的解決方案
最近在開發(fā)一個大項目的時候遇到一個很頭疼的問題,由于項目代碼較多,每次都要編譯鏈接1分鐘左右,調(diào)試的時候很浪費時間,于是研究了一下如何提高編譯鏈接的速度,在這里分享給大家。
提升編譯鏈接的速度主要有以下三個方式:
1. 提高XCode編譯時使用的線程數(shù)
defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4
XCode默認使用與CPU核數(shù)相同的線程來進行編譯,但由于編譯過程中的IO操作往往比CPU運算要多,因此適當?shù)奶嵘€程數(shù)可以在一定程度上加快編譯速度。本人采用的是4核的CPU,將線程數(shù)改為8后編譯速度略有提升。
2. 將Debug Information Format改為DWARF
在工程對應(yīng)Target的Build Settings中,找到Debug Information Format這一項,將Debug時的DWARF with dSYM file改為DWARF。
這一項設(shè)置的是是否將調(diào)試信息加入到可執(zhí)行文件中,改為DWARF后,如果程序崩潰,將無法輸出崩潰位置對應(yīng)的函數(shù)堆棧,但由于Debug模式下可以在XCode中查看調(diào)試信息,所以改為DWARF影響并不大。這一項更改完之后,可以大幅提升編譯速度。
需要注意的是,將Debug Information Format改為DWARF之后,會導(dǎo)致在Debug窗口無法查看相關(guān)類類型的成員變量的值。當需要查看這些值時,可以將Debug Information Format改回DWARF with dSYM file,clean(必須)之后重新編譯即可。
3. 將Build Active Architecture Only改為Yes
在工程對應(yīng)Target的Build Settings中,找到Build Active Architecture Only這一項,將Debug時的No改為Yes。
這一項設(shè)置的是是否僅編譯當前架構(gòu)的版本,如果為No,會編譯所有架構(gòu)的版本。需要注意的是,此選項在Release模式下必須為No,否則發(fā)布的ipa在部分設(shè)備上將不能運行。這一項更改完之后,可以顯著提高編譯速度。
本人在設(shè)置完以上三個項之后,編譯時間從1分鐘左右減少到10秒左右,因此效果還是相當明顯的。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
iOS應(yīng)用中使用AsyncSocket庫處理Socket通信的用法講解
這篇文章主要介紹了iOS應(yīng)用中使用AsyncSocket庫處理Socket通信的用法講解,AsyncSocket同時支持TCP和UDP,文中展示了其建立斷開連接及發(fā)送接收消息的操作,very好用,需要的朋友可以參考下2016-05-05
詳解iOS開發(fā)中的轉(zhuǎn)場動畫和組動畫以及UIView封裝動畫
這篇文章主要介紹了iOS開發(fā)中的轉(zhuǎn)場動畫和組動畫以及UIView封裝動畫,主要用到了CAAnimation類和UIView類,需要的朋友可以參考下2015-11-11
iOS開發(fā)中runtime常用的幾種方法示例總結(jié)
Runtime也就是所謂的“運行時”,因為是在運行時實現(xiàn)的。下面這篇文章主要給大家介紹了關(guān)于iOS開發(fā)中runtime常用的幾種方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-08-08
iOS基于UIScrollView實現(xiàn)滑動引導(dǎo)頁
這篇文章主要為大家詳細介紹了iOS基于UIScrollView實現(xiàn)滑動引導(dǎo)頁的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
iOS對象指針和基礎(chǔ)數(shù)據(jù)類型的強轉(zhuǎn)詳解
最近在做一些小功能,忽然發(fā)現(xiàn)有的基礎(chǔ)數(shù)據(jù)轉(zhuǎn)換居然都忘記了。于是想著要趕緊整理下記下來!本文就是記錄的一些內(nèi)容,主要介紹了iOS中對象指針和基礎(chǔ)數(shù)據(jù)類型的強轉(zhuǎn),有需要的朋友們可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11

