這表明,在這個項目裏你想要Xcode編譯的目標設備列表。ios
還不是太明確這個設置的意圖,可是通常來講是不須要更改的。架構
在Xcode5.0裏的Valid Architectures 設置裏,有2個選項:性能
默認爲standard architectures (including 64-bit)(armv7,armv7s,arm64)
,這樣設置,你的Deployment target最低只能設置爲 6.0,(在Xcode5.0.1 以後,最低可以兼容IOS 5.1.1);spa
standard architectures (armv7,armv7s)
,這樣設置,你的Deployment target最低能設置爲 4.3;code
使用standard architectures (including 64-bit)(armv7,armv7s,arm64)參數,
則打的包裏面有32位、64位兩份代碼,
在iPhone5s(iPhone5s的cpu是64位的
)下,會首選運行64位代碼包,
其他的iPhone(其他iPhone都是32位的,iPhone5c也是32位
),
只能運行32位包,
可是包含兩種架構的代碼包,只有運行在ios6,ios7系統上。
這也就是說,這種打包方式,對手機幾乎沒啥要求,可是對系統有要求,即ios6以上。get
而使用standard architectures (armv7,armv7s)參數,
則打的包裏只有32位代碼,
iPhone5s的cpu是64位,可是能夠兼容32位代碼,便可以運行32位代碼。可是這會下降iPhone5s的性能,緣由下面的參考有解釋。
其他的iPhone對32位代碼包更沒問題,
而32位代碼包,對系統也幾乎也沒什麼限制。it
因此總結以下:
要發揮iPhone5s的64位性能,就要包含64位包,那麼系統最低要求爲ios6。
若是要兼容ios5以及更低的系統,只能打32位的包,系統都能通用,可是會喪失iPhone5s的性能。io