目前為止Apple移動設(shè)備默認(rèn)指令集(2014.8.22)
armv6 設(shè)備: iPhone, iPhone2, iPhone3G, 第一代涕滋、第二代 iPod Touch
armv7 設(shè)備: iPhone3GS, iPhone4, iPhone4S
iPad, iPad2, iPad3(The New iPad), iPad mini
iPod Touch 3G, iPod Touch4
armv7s設(shè)備: iPhone5, iPhone5C, iPad4(iPad with Retina Display)
arm64 設(shè)備: iPhone5S, iPad Air, iPad mini2(iPad mini with Retina Display)
現(xiàn)在的問題:
既需要支持32位的指令集比如設(shè)備:
iPhone4, iPhone4S, iPhone5, iPhone5C
也需要支持64位的指令集比如設(shè)備:
iPhone5S, iPhone6, iPhone6p, iPhone6s
蘋果A7處理器支持兩個(gè)不同的指令集:32位ARM指令集(armv6|armv7|armv7s)和64位ARM指令集(arm64)序仙。
使用 standard architectures (including 64-bit)(armv7,arm64) 參數(shù),則打的包里面有32位榛瓮、64位兩份代碼航背,在iPhone5s( iPhone5s的cpu是64位的 )下喉悴,會首選運(yùn)行64位代碼包, 其余的iPhone( 其余iPhone都是32位的,iPhone5c也是32位 )玖媚,只能運(yùn)行32位包箕肃,但是包含兩種架構(gòu)的代碼包,只有運(yùn)行在ios6以上的系統(tǒng)上今魔。
而使用 standard architectures (armv7,armv7s) 參數(shù)勺像, 則打的包里只有32位代碼, iPhone5s的cpu是64位错森,但是可以兼容32位代碼吟宦,即可以運(yùn)行32位代碼。但是這會降低iPhone5s的性能涩维。 其余的iPhone對32位代碼包更沒問題殃姓, 而32位代碼包,對系統(tǒng)也幾乎也沒什么限制。
所以總結(jié)如下: 要發(fā)揮iPhone5s的64位性能蜗侈,就要包含64位包篷牌,那么系統(tǒng)最低要求為ios6。 如果要兼容ios5以及更低的系統(tǒng)踏幻,只能打32位的包枷颊,系統(tǒng)都能通用,但是會喪失iPhone5s的性能该面。
當(dāng)然這樣做會使部分設(shè)備出現(xiàn)性能損失夭苗,當(dāng)然在普通應(yīng)用中這點(diǎn)體現(xiàn)幾乎感覺不到,至少不會威脅到用戶體檢吆倦。