加快Xcode的編譯速度

不知道大家有沒有經歷過,公司給配個mac,最低配,沒有ssd,Cpu1.4GHz。全量編譯一次一二十分鐘,增量編譯也要至少三分鐘,尤其是在調UI的時候。真的是能捉急死人!
  搜羅各地找到一個比較實用的加快編譯的方法。

1.前提與原理

內存16G以上,小于此標準的請恕我也無能為力。
  此方法主要是利用RAM(內存)來創建一個虛擬的磁盤,用來存放編譯文件。大家都知道,RAM的速度是ROM(存儲器)的幾十到幾百倍不等,利用RAM可以加速文件讀寫。

2.創建腳本文件

可以使用Sublime(文件類型請選擇Shell Script(Bash))或者終端vi編輯器(不會的自行學習),在桌面創建一個文件,文件名ramdisk.sh(名字可以自定,后綴不能改)
  寫入以下腳本代碼保存:

#!/bin/bash
RAMDISK="ramdisk"
SIZE=4096 #4GB, size in MB for ramdisk.
diskutil erasevolume HFS+ $RAMDISK `hdiutil attach -nomount ram://$[SIZE*2048]`
2.執行腳本文件

首先需要給文件添加可執行權限,終端cd到ramdisk.sh文件統計目錄下(此處就是桌面),終端執行一下命令給文件添加可執行權限

chmod +x ./ramdisk.sh

然后終端輸入以下命令執行文件

./ramdisk.sh

你會發現桌面上多了一個磁盤如下圖所示


屏幕快照 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

  點擊Advanced...選以下點擊Done


屏幕快照 2017-05-11 下午4.08.28.png

  之后就可以進行編譯了,有沒有發現快了一點呢?

4.總結

試過之后,確實是要快一點的,尤其是對全量編譯而言,能提升不少速度。
  問題:
  1、4GB的大小勉強夠用,可能在編譯幾十次之后會出現空間不足的情況,這時候可以把ramdisk里面DriveData下面的文件刪除,重新編譯(當然你也可以給的空間大一點)。
  2、由于內存只是暫存,重啟之后ramdisk的磁盤會消失,需要重新跑一次腳本,重新生成。
  以上方法僅為權宜之計,最好的解決辦法就是換一臺帶SSD的配置好一點的mac。如果你的mac配置本來就很好,是因為你的項目實在太大,那就需要另尋他法了,比如說:使用模塊化方案,每一塊分成一個靜態包,這樣每次只編譯打開的部分代碼,這樣可以提高編譯速度(這就涉及太廣了,有興趣可以自行學習)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容