ios XCode編譯速度過慢解決方案

公司有個做了很久的老項目奕枝,被蝸牛般的編譯速度折磨了很久哥谷。估計很多同學也會遇到類似的問題。今天在這里把平時自己如何加快XCode編譯速度的方法整理一下麻献。大家可以參考參考们妥!

1. 增加XCode執(zhí)行的線程數(shù)(??)

可以根據(jù)自己Mac的性能,更改線程數(shù)設置5defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 5

另外也有一個設置可以開啟:defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

XCode默認使用與CPU核數(shù)相同的線程來進行編譯勉吻,但由于編譯過程中的IO操作往往比CPU運算要多监婶,因此適當?shù)奶嵘€程數(shù)可以在一定程度上加快編譯速度。

image

2.將Debug Information Format改為DWARF(??????)

在工程對應TargetBuild Settings中齿桃,找到Debug Information Format這一項惑惶,將Debug時的DWARF with dSYM file改為DWARF

如圖:

image

這一項設置的是是否將調(diào)試信息加入到可執(zhí)行文件中短纵,改為DWARF后带污,如果程序崩潰,將無法輸出崩潰位置對應的函數(shù)堆棧香到,但由于Debug模式下可以在XCode中查看調(diào)試信息鱼冀,所以改為DWARF影響并不大。這一項更改完之后悠就,可以大幅提升編譯速度千绪。

比如在目前本人負責的項目中,由于依賴了多個Target梗脾,所以需要在每個TargetDebug Information Format設置為DWARF荸型。順便提一下,如果通過Cocoapod引入第三方則Debug Information Format默認就是設置為DWARF的炸茧。

  • SDWebImage通過Cocoapod``Debug Information Format的默認設置

    image

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

3.將Build Active Architecture Only改為Yes(??)

在工程對應TargetBuild Settings中妈嘹,找到Build Active Architecture Only這一項柳琢,將Debug時的NO改為Yes

image

這一項設置的是是否僅編譯當前架構(gòu)的版本润脸,如果為NO柬脸,會編譯所有架構(gòu)的版本。需要注意的是毙驯,此選項在Release模式下必須為NO`倒堕,否則發(fā)布的ipa在部分設備上將不能運行。這一項更改完之后爆价,可以顯著提高編譯速度垦巴。

4.設計編譯優(yōu)化等級(??)

不要再項目中或者靜態(tài)庫中使用-O4媳搪,因為這會讓Clang鏈接Link Time Optimizations (LTO)使得編譯更慢,通常使用-O3骤宣。

image

注意:在設置編譯優(yōu)化之后秦爆,XCode斷點和調(diào)試信息會不正常,所以一般靜態(tài)庫或者其他Target這樣設置憔披。

4.資源整合(????)

4.1 將常用的代碼及文件打包成靜態(tài)庫

4.2 添加預編譯文件等限,把常用的頭文件放到預編譯文件里面

4.3 能用@class就用@class

參考

To speed up the XCode compile and link speed (200%+)

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市芬膝,隨后出現(xiàn)的幾起案子望门,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谷遂,居然都是意外死亡牧嫉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事丽惶。” “怎么了爬立?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵钾唬,是天一觀的道長。 經(jīng)常有香客問我侠驯,道長抡秆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任吟策,我火速辦了婚禮儒士,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘檩坚。我一直安慰自己着撩,他們只是感情好,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布匾委。 她就那樣靜靜地躺著拖叙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赂乐。 梳的紋絲不亂的頭發(fā)上薯鳍,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音挨措,去河邊找鬼挖滤。 笑死崩溪,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的壶辜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼担租,長吁一口氣:“原來是場噩夢啊……” “哼砸民!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起奋救,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤岭参,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尝艘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體演侯,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年背亥,在試婚紗的時候發(fā)現(xiàn)自己被綠了秒际。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡狡汉,死狀恐怖娄徊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盾戴,我是刑警寧澤寄锐,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站尖啡,受9級特大地震影響橄仆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衅斩,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一盆顾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧畏梆,春花似錦椎扬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至铣猩,卻和暖如春揖铜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背达皿。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工天吓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贿肩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓龄寞,卻偏偏與公主長得像汰规,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子物邑,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容