swift Xcode編譯速度優(yōu)化

方案一:

當(dāng)修改一個(gè) Swift 文件或多個(gè)文件,然后 Build , 引起全局編譯的時(shí)候,可以先到 Report Navigator 里面查看這次 Build,等這次修改的Swift 的文件都編譯完(Xcode 會(huì)優(yōu)先編譯本次修改的文件 ),停止 Build,再重新 Build,第二次 Build 一般會(huì)在 60s 以內(nèi)成功。

缺點(diǎn):1、初次編譯和 Clean完,需要大概 1500s 左右

2、有時(shí)會(huì)引起 code 1 錯(cuò)誤,這個(gè)錯(cuò)誤可以通過(guò)先 Clean ,再 Build 修復(fù)。 PS:只要在Report Navigator 等修改的 Swift 文件編譯完,基本不會(huì)引起 code1 錯(cuò)誤

3、部分情況下會(huì)失效

2017.2.23 號(hào)的優(yōu)化已經(jīng)將 Clean Build 時(shí)間降低到 1000s 左右,也去掉了很多引起重新編譯的代碼。每天編譯次數(shù)比較多的情況建議使用這個(gè)方案

方案二

在 Project 的 Build Setting 里面添加 SWIFT_WHOLE_MODULE_OPTIMIZATION = YES (如下圖),每次編譯大概 120s 左右。

缺點(diǎn): 每次編譯都是 120s 左右,有點(diǎn)讓人抓狂。

2017.2.23 號(hào)的優(yōu)化已經(jīng)將 Clean Build 時(shí)間降低到 155s 左右,增量編譯時(shí)間 100s 左右,每天編譯次數(shù)不是特別多,或需要及時(shí)調(diào)試建議使用這種方案

方案三:

將每個(gè) Target 的build setting'Swift Compiler - Code Generation' 的 'Optimization Level' 設(shè)為 ?'Fast, Whole Module Optimization',

同時(shí)需要將 'Swift Compiler - Custom Flags' 的 'Other swift Flag' 增加 '-Onone' (也可以在 PROJECT 下Build Settings -Swift Compiler - Custom Flags' 的 'Other swift Flag' 一次性增加 '-Onone')

Clean Build ?時(shí)間 146s 左右,增量編譯時(shí)間 97s 左右,這個(gè)是最快方案,也是設(shè)置最繁瑣方案。

PS:刪除 SwiftLint 的腳本可以降低所有編譯時(shí)間 10s - 15s 左右,有需求的可以臨時(shí)刪除執(zhí)行Swiftlint 的腳本,腳本如下:

if which swiftlint >/dev/null;

then

swiftlint

#cd Teambition&&swiftlint

else

echo"SwiftLint does not exist, download fromhttps://github.com/realm/SwiftLint"

fi

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,777評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,060評(píng)論 4 61
  • 找出編譯耗時(shí)過(guò)長(zhǎng)的文件 要優(yōu)化項(xiàng)目的編譯速度,首先需要把耗時(shí)過(guò)長(zhǎng)的文件找出來(lái),然后進(jìn)行重點(diǎn)優(yōu)化。這里會(huì)用到Xcod...
    mobilefellow閱讀 2,411評(píng)論 2 8
  • 我從小一直到現(xiàn)在也沒(méi)有什么是可以堅(jiān)持的。小時(shí)候我總是想著堅(jiān)持認(rèn)真讀書(shū),認(rèn)真學(xué)習(xí);現(xiàn)在想著要堅(jiān)持減肥,可沒(méi)什么是...
    雪絮花妖閱讀 337評(píng)論 0 0
  • ▍關(guān)注微信公眾號(hào)【蘇州去哪逛】 姑蘇城,存在于唐詩(shī)宋詞的優(yōu)美詞藻里,也存在于許許多多人的水墨江南夢(mèng)境中。 穿越歷史...
    改變世界的茶閱讀 322評(píng)論 0 0

友情鏈接更多精彩內(nèi)容