目前ios的指令集有以下幾種:
1,armv6,支持的機器iPhone,iPhone2,iPhone3G及對應的iTouch
2,armv7,支持的機器iPhone4,iPhone4S
3,armv7s,支持的機器iPhone5,iPhone5C
4,arm64,支持的機器:iPhone5S
機器對指令集的支持是向下兼容的,因此armv7的指令集是可以運行在iphone5S的,只是效率沒那么高而已~
========================
Architecture : 指你想支持的指令集。
Valid architectures : 指即將編譯的指令集。
Build Active Architecture Only : 只是否只編譯當前適用的指令集。
========
現在是2014年初,其實4和4S的用戶還是蠻多的,而iphone3之類的機器幾乎沒有了,所以我們的指令集最低必須基於armv7.
因此,Architecture的值選擇:armv7 armv7s arm64(選arm64時需要最低支持5.1.1,這塊不太明白)
1,如果想自己的app在各個機器都能夠最高效率的運行,則需要將Build Active Architecture Only改為NO,Valid architectures選擇對應的指令集:armv7 armv7s arm64。這個會為各個指令集編譯對應的代碼,因此最后的 ipa體積基本翻了3倍。(如果不在乎app大小的話,應該這樣做)
2,如果想讓app體積保持最小,則現階段應該選擇Valid architectures為armv7,這樣Build Active Architecture Only選YES或NO就無所謂了。