XCode 加快編譯鏈接速度的方法
加快XCode的編譯鏈接速度,XCode編譯速度慢的解決方案
最近在開(kāi)發(fā)一個(gè)大項(xiàng)目的時(shí)候遇到一個(gè)很頭疼的問(wèn)題,由于項(xiàng)目代碼較多,每次都要編譯鏈接1分鐘左右,調(diào)試的時(shí)候很浪費(fèi)時(shí)間,于是研究了一下如何提高編譯鏈接的速度,在這里分享給大家。
提升編譯鏈接的速度主要有以下三個(gè)方式:
1. 提高XCode編譯時(shí)使用的線程數(shù)
defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4
XCode默認(rèn)使用與CPU核數(shù)相同的線程來(lái)進(jìn)行編譯,但由于編譯過(guò)程中的IO操作往往比CPU運(yùn)算要多,因此適當(dāng)?shù)奶嵘€程數(shù)可以在一定程度上加快編譯速度。本人采用的是4核的CPU,將線程數(shù)改為8后編譯速度略有提升。
2. 將Debug Information Format改為DWARF
在工程對(duì)應(yīng)Target的Build Settings中,找到Debug Information Format這一項(xiàng),將Debug時(shí)的DWARF with dSYM file改為DWARF。
這一項(xiàng)設(shè)置的是是否將調(diào)試信息加入到可執(zhí)行文件中,改為DWARF后,如果程序崩潰,將無(wú)法輸出崩潰位置對(duì)應(yīng)的函數(shù)堆棧,但由于Debug模式下可以在XCode中查看調(diào)試信息,所以改為DWARF影響并不大。這一項(xiàng)更改完之后,可以大幅提升編譯速度。
需要注意的是,將Debug Information Format改為DWARF之后,會(huì)導(dǎo)致在Debug窗口無(wú)法查看相關(guān)類(lèi)類(lèi)型的成員變量的值。當(dāng)需要查看這些值時(shí),可以將Debug Information Format改回DWARF with dSYM file,clean(必須)之后重新編譯即可。
3. 將Build Active Architecture Only改為Yes
在工程對(duì)應(yīng)Target的Build Settings中,找到Build Active Architecture Only這一項(xiàng),將Debug時(shí)的No改為Yes。
這一項(xiàng)設(shè)置的是是否僅編譯當(dāng)前架構(gòu)的版本,如果為No,會(huì)編譯所有架構(gòu)的版本。需要注意的是,此選項(xiàng)在Release模式下必須為No,否則發(fā)布的ipa在部分設(shè)備上將不能運(yùn)行。這一項(xiàng)更改完之后,可以顯著提高編譯速度。
本人在設(shè)置完以上三個(gè)項(xiàng)之后,編譯時(shí)間從1分鐘左右減少到10秒左右,因此效果還是相當(dāng)明顯的。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
iOS App開(kāi)發(fā)中的UIPageControl分頁(yè)控件使用小結(jié)
UIPageControl分頁(yè)控件的例子簡(jiǎn)單來(lái)說(shuō)即是我們平時(shí)翻動(dòng)多個(gè)桌面頁(yè)時(shí)及底部帶有的圓點(diǎn)頁(yè)碼標(biāo)注,這里我們來(lái)看一下iOS App開(kāi)發(fā)中的UIPageControl分頁(yè)控件使用小結(jié),需要的朋友可以參考下2016-06-06iOS UICollectionView實(shí)現(xiàn)橫向滑動(dòng)
這篇文章主要為大家詳細(xì)介紹了iOS UICollectionView實(shí)現(xiàn)橫向滑動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03iOS 10即將來(lái)襲!升級(jí)你的iOS開(kāi)發(fā)裝備
iOS 10來(lái)了!你必需的10款iOS開(kāi)發(fā)必備工具,讓你的開(kāi)發(fā)過(guò)程事半功倍2016-07-07iOS開(kāi)發(fā)之級(jí)聯(lián)界面(推薦界面)搭建原理
這篇文章主要為大家詳細(xì)介紹了iOS級(jí)聯(lián)界面(推薦界面)搭建原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08iOS藍(lán)牙開(kāi)發(fā)數(shù)據(jù)實(shí)時(shí)傳輸
這篇文章主要為大家詳細(xì)介紹了iOS藍(lán)牙開(kāi)發(fā)數(shù)據(jù)實(shí)時(shí)傳輸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12iOS系統(tǒng)和微信中不支持audio自動(dòng)播放問(wèn)題的解決方法
最近在微信端開(kāi)發(fā)H5的時(shí)候,audio標(biāo)簽在蘋(píng)果機(jī)上無(wú)法進(jìn)行自動(dòng)播放,查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于iOS系統(tǒng)和微信中不支持audio自動(dòng)播放問(wèn)題的解決方法,需要的朋友可以參考下。2017-09-09詳解iOS AFNetworking取消正在進(jìn)行的網(wǎng)絡(luò)請(qǐng)求
這篇文章主要介紹了詳解iOS AFNetworking取消正在進(jìn)行的網(wǎng)絡(luò)請(qǐng)求,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06