Xcode編譯速度、安裝包大小
這篇文章主要介紹兩個(gè)Xcode的設(shè)置屬性,這兩個(gè)屬性在Xcode編譯速度、打包大小方面有明顯的區(qū)別。
optimization Level
-
屬性查找
項(xiàng)目——>taget——>Build Settings,然后搜索optimi就可看到。Snip20170219_6.png -
屬性介紹:
這個(gè)屬性是控制編譯器在編譯項(xiàng)目時(shí)的優(yōu)化等級(jí),Xcode給了三個(gè)優(yōu)化等級(jí),如下圖:Snip20170219_8.png
第一個(gè)是優(yōu)化等級(jí)最低,最后一個(gè)最高。
選擇的優(yōu)化等級(jí)越高,那需要的編譯時(shí)間越長(zhǎng),那對(duì)應(yīng)打出來(lái)的項(xiàng)目包也就最小。
根據(jù)其特點(diǎn),再結(jié)合我們實(shí)際應(yīng)用Xcode的情景,我們可以選擇不同的等級(jí):- 對(duì)于Debug狀態(tài),選擇最低優(yōu)化等級(jí),因?yàn)檫@時(shí)候我們不需要打包上傳到appstore,只最求其最快速的進(jìn)行編譯測(cè)試;
- 對(duì)于Release,選擇優(yōu)化等級(jí)最高的,因?yàn)榇藭r(shí),編譯的優(yōu)化程度遠(yuǎn)比編譯速度重要。
bitcode
-
屬性查找
項(xiàng)目——>taget——>Build Settings,然后搜索bitcode就可看到。Snip20170219_7.png 屬性介紹
這個(gè)屬性在你選擇為YES的時(shí)候,Xcode在打包的時(shí)候,將項(xiàng)目編譯成很多個(gè)設(shè)備對(duì)應(yīng)的安裝包,這樣在編譯打包的時(shí)候就比較耗時(shí),編譯出來(lái)的應(yīng)用包也相對(duì)較大,但是當(dāng)上傳到appstore后,appstore會(huì)根據(jù)用戶的設(shè)備型號(hào)指定對(duì)應(yīng)的安裝包,實(shí)際安裝包大小是較不選YES是縮小的。
如果選擇了NO,雖然在編譯速度上有所提升,在編譯包上有所減小,但是用戶在安裝的時(shí)候,蘋(píng)果提供的是整個(gè)安裝包的大小,而不是對(duì)應(yīng)設(shè)備的安裝包。
因此,在這里,建議Debug下選擇NO,在Release下選擇YES。
關(guān)于更多的bitcode或者optimization Level的詳細(xì)介紹和其對(duì)應(yīng)的發(fā)展史,可以自行在各大網(wǎng)站進(jìn)行搜索,會(huì)有更詳盡的介紹。


