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设备,具体哪些可以百度了解,在这里不多说)。
     
    
 
