xcode常见的几种设置说明

  • Post author:
  • Post category:其他



1,


Build Active Architecture Only 属性



这个属性设置Debug为Yes,是为了Debug的时候编译速度更快,它只编译当前的architecture版本。


而设置Release为No时,会编译所有的版本。


比如:Valid A


rchitectures 属性中Debug对应值有:arm64 armv7 armv7s

表示xcode可以编译运行iPhone设备为


arm64 armv7 armv7s



的机型。如果当前链接xcode的是iPhone6s设备(arm64机型),当


Build Active Architecture Only属性中Debug 设置Yes, 那么说明本次在build的Debu环境下编译运行出的版本只支持:


arm64的版本,由于arm64向下兼容的关系,他能够在armv7 armv7s的机型(也就是iPhone4 5)运行。


如果设置为No,那么会编译生成的版本能够支持:


arm64 armv7 armv7s (


Valid A


rchitectures里面所有版本)。



注明:同样Release属性的设置与Debug一样理解;因此我们在开发中,常常将Xcode的




Build Active Architecture Only属性,Debug–>Yes, Release–>No,就是为了在开发运行时,减轻编译运行负担缩短运行时间,在做发布App(Release)的时候因为要适应大多数机型,所以应该启用Release–>Yes,去编译运行生成支持


arm64 armv7 armv7s (


Valid A


rchitectures里面所有版本)设备。





2,


Valid A


rchitectures 属性



在1中已经大概介绍了,就是表示Xcode能够编译生成支持哪些机型版本。


Valid A


rchitectures值为


arm64,表示只能编译生成


arm64的版本


Valid A


rchitectures值为


arm64 armv7 armv7s ,表示能编译生成支持


arm64 armv7 armv7s三种版本。



说明:


armv6:iPhone 2G/3G,iPod 1G/2G

armv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3G


armv7s:iPhone5, iPod5


arm64:iphone5s ,iphone6及plus 等最新机型


兼容原理:向下兼容,也就是说


armv6(基本淘汰)的版本能够在所有机型中运行此版本的app。


armv7s版本适应iPhone5及6等新机型运行,iPhone4、4s不能运行。arm64版本的app只能在iPhone5s/6/6p/6s/6ps中运行(包含新款的ipad设备,具体哪些可以百度了解,在这里不多说)。