不知道大家有沒有經(jīng)歷過,公司給配個(gè)mac,最低配,沒有ssd,Cpu1.4GHz。全量編譯一次一二十分鐘,增量編譯也要至少三分鐘,尤其是在調(diào)UI的時(shí)候。真的是能捉急死人!
搜羅各地找到一個(gè)比較實(shí)用的加快編譯的方法。
1.前提與原理
內(nèi)存16G以上,小于此標(biāo)準(zhǔn)的請(qǐng)恕我也無能為力。
此方法主要是利用RAM(內(nèi)存)來創(chuàng)建一個(gè)虛擬的磁盤,用來存放編譯文件。大家都知道,RAM的速度是ROM(存儲(chǔ)器)的幾十到幾百倍不等,利用RAM可以加速文件讀寫。
2.創(chuàng)建腳本文件
可以使用Sublime(文件類型請(qǐng)選擇Shell Script(Bash))或者終端vi編輯器(不會(huì)的自行學(xué)習(xí)),在桌面創(chuàng)建一個(gè)文件,文件名ramdisk.sh(名字可以自定,后綴不能改)
寫入以下腳本代碼保存:
#!/bin/bashRAMDISK="ramdisk"SIZE=4096#4GB, size in MB for ramdisk.diskutil erasevolume HFS+$RAMDISK`hdiutil attach -nomount ram://$[SIZE*2048]`
2.執(zhí)行腳本文件
首先需要給文件添加可執(zhí)行權(quán)限,終端cd到ramdisk.sh文件統(tǒng)計(jì)目錄下(此處就是桌面),終端執(zhí)行一下命令給文件添加可執(zhí)行權(quán)限
chmod +x./ramdisk.sh
然后終端輸入以下命令執(zhí)行文件
./ramdisk.sh
你會(huì)發(fā)現(xiàn)桌面上多了一個(gè)磁盤如下圖所示

屏幕快照 2017-05-11 下午4.01.02.png
3.修改Xcode的配置
Xcode -> Preferences -> Locations
Derived Data? (Custom): /Volumes/ramdisk/DeriveData

屏幕快照 2017-05-11 下午4.03.05.png
點(diǎn)擊Advanced...選以下點(diǎn)擊Done

屏幕快照 2017-05-11 下午4.08.28.png
之后就可以進(jìn)行編譯了,有沒有發(fā)現(xiàn)快了一點(diǎn)呢?
4.總結(jié)
試過之后,確實(shí)是要快一點(diǎn)的,尤其是對(duì)全量編譯而言,能提升不少速度。
問題:
1、4GB的大小勉強(qiáng)夠用,可能在編譯幾十次之后會(huì)出現(xiàn)空間不足的情況,這時(shí)候可以把ramdisk里面DriveData下面的文件刪除,重新編譯(當(dāng)然你也可以給的空間大一點(diǎn))。
2、由于內(nèi)存只是暫存,重啟之后ramdisk的磁盤會(huì)消失,需要重新跑一次腳本,重新生成。
以上方法僅為權(quán)宜之計(jì),最好的解決辦法就是換一臺(tái)帶SSD的配置好一點(diǎn)的mac。如果你的mac配置本來就很好,是因?yàn)槟愕捻?xiàng)目實(shí)在太大,那就需要另尋他法了,比如說:使用模塊化方案,每一塊分成一個(gè)靜態(tài)包,這樣每次只編譯打開的部分代碼,這樣可以提高編譯速度(這就涉及太廣了,有興趣可以自行學(xué)習(xí))。