xcode的Architectures、build architecture only屬性

Architectures

在項(xiàng)目中你想要xcode編譯的目標(biāo)設(shè)備列表 比如armv7、armv7s、arm64 。armv7等這些是ARM CPU的不同指令集,原則上是向下兼容的。例如iPhone4S CPU支持armv7, 但它同時(shí)兼容armv6,只是使用armv6指令可能無(wú)法充分發(fā)揮它的特性。

  • Valid Architectures 設(shè)置里默認(rèn)為 Standard architectures (armv7,armv7s,arm64)
    原因:使用 standard architectures (including 64-bit) (armv7,armv7s,arm64) 參數(shù),則打的包里面有32位、64位兩份代碼,
    在iPhone5s( iPhone5s的cpu是64位的 )下,會(huì)首選運(yùn)行64位代碼包,
    其余的iPhone( 其余iPhone都是32位的,iPhone5c也是32位 ), 只能運(yùn)行32位包,
    但是包含兩種架構(gòu)的代碼包,只有運(yùn)行在ios6,ios7系統(tǒng)上。
    這也就是說(shuō),這種打包方式,對(duì)手機(jī)幾乎沒(méi)啥要求,但是對(duì)系統(tǒng)有要求,即ios6以上。
    而使用 standard architectures (armv7,armv7s) 參數(shù), 則打的包里只有32位代碼, iPhone5s的cpu是64位,但是可以兼容32位代碼,即可以運(yùn)行32位代碼。但是這會(huì)降低iPhone5s的性能。 其余的iPhone對(duì)32位代碼包更沒(méi)問(wèn)題, 而32位代碼包,對(duì)系統(tǒng)也幾乎也沒(méi)什么限制。
    所以總結(jié)如下
    要發(fā)揮iPhone5s及以上機(jī)型的64位性能,就要包含64位包,那么系統(tǒng)最低要求為ios6。 如果要兼容ios5以及更低的系統(tǒng),只能打32位的包,系統(tǒng)都能通用,但是會(huì)喪失iPhone5s的性能。
build architecture only

設(shè)置為NO時(shí),編譯支持的多個(gè)版本,如: armv7, armv7s, arm64
設(shè)置為YES時(shí),編譯出的版本是可以向下進(jìn)行兼容的,用iPhone4編譯出來(lái)的是armv7版本的,iPhone5(armv7s)也可以運(yùn)行,但是armv6 (iPhone 2G/3G,iPod 1G/2G)的設(shè)備就不能運(yùn)行了
所以在調(diào)試的時(shí)候比較適宜設(shè)置 Build Active Architecture Only 位 YES,這樣只編譯一個(gè)版本,速度會(huì)比較快;
在發(fā)布的時(shí)候,需要設(shè)置 Build Active Architecture Only 位 NO,這樣以支持多種設(shè)備

設(shè)備版本:

armv6:iPhone 2G/3G,iPod 1G/2G
armv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3G
armv7s:iPhone5-5c, iPod5
arm64: iPhone5s開(kāi)始的iPhone,iPad Air開(kāi)始的iPad等新設(shè)備
模擬器:iphone4s-5 : i386 , iphone5s-6plus : x86_64

所以,一般debug的時(shí)候可以選擇設(shè)置為yes,這樣只編譯一個(gè)版本,速度會(huì)比較快,release的時(shí)候要改為no,以適應(yīng)不同設(shè)備

摘自https://www.cnblogs.com/Hakim/p/5614805.html

?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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