转自http://www.tuicool.com/articles/aeiaUr

Architectures 
这代表,在这个项目里你想要Xcode编译的目标设备列表。 
Valid Architectures 
还不是太明确这个设置的意图,但是一般来说是不需要更改的,和Architectures一样就可以。

在Xcode5.1里的  Valid Architectures  设置里,  默认为 Standard architectures(armv7,armv7s,arm64),如果你想改的话,自己在other中更改。

原因解释如下: 
使用  standard architectures (including 64-bit)(armv7,armv7s,arm64) 参数,则打的包里面有32位、64位两份代码,

在iPhone5s( iPhone5s的cpu是64位的 )下,会首选运行64位代码包,

其余的iPhone( 其余iPhone都是32位的,iPhone5c也是32位 ), 只能运行32位包,

但是包含两种架构的代码包,只有运行在ios6,ios7系统上。

这也就是说,这种打包方式,对手机几乎没啥要求,但是对系统有要求,即ios6以上。 
而使用  standard architectures (armv7,armv7s) 参数, 则打的包里只有32位代码, iPhone5s的cpu是64位,但是可以兼容32位代码,即可以运行32位代码。但是这会降低iPhone5s的性能。 其余的iPhone对32位代码包更没问题, 而32位代码包,对系统也几乎也没什么限制。  
所以总结如下:

要发挥iPhone5s的64位性能,就要包含64位包,那么系统最低要求为ios6。 如果要兼容ios5以及更低的系统,只能打32位的包,系统都能通用,但是会丧失iPhone5s的性能。

Build Active Architecture Only

这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。 
而设置为no时,会编译所有的版本。 
这个是设备对应的architecture: 
armv6:iPhone 2G/3G,iPod 1G/2G 
armv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3G 
armv7s:iPhone5, iPod5 
arm64:iPhone5s,ipad air,ipad mini2 
编译出的版本是向下兼容的,比如你设置此值为yes,用iphone4编译出来的是armv7版本的,iphone5也可以运行,但是armv6的设备就不能运行。 
所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。

通过对以上参数配置的了解,我解决了问题。

xcode5.1你的程序如果支持了arm64,那么你的所有静态库或者framework都要支持才可以,所以你要重新编译一遍。

更多参考http://my.oschina.net/shede333/blog/172785#OSC_h3_2 这个更好

转载于:https://www.cnblogs.com/chancier/p/4127940.html

Xcode的Architectures、Valid Architectures和Build Active Architecture Only属性相关推荐

  1. Build Active Architecture Only

    关于Build Active Architecture Only 的设置问题: 1.这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本. 2.而设置为 ...

  2. [转载]xcode5时代如何设置Architectures和Valid Architectures

    2019独角兽企业重金招聘Python工程师标准>>> xcode5时代如何设置Architectures和Valid Architectures 目前ios的指令集有以下几种: 1 ...

  3. Xcode的Architectures和Valid Architectures的区别

    目录[-] Xcode的Architectures和Valid Architectures的区别 Architectures Valid Architectures 原因解释如下: 参考1: 所有IO ...

  4. 解决Xcode The selected destination does not support the architecture 错误错误

    XCODE编译运行项目后,发现工程编译后无法运行,出现: "The selected destination does not support the architecture for wh ...

  5. xcode armv6 armv7 armv7s arm64

    眼下ios的指令集有下面几种: armv6 iPhone iPhone2 iPhone3G 第一代和第二代iPod Touch armv7 iPhone4 iPhone4S armv7s iPhone ...

  6. XCode 项目配置说明

    初学XCode最让人头疼的就是项目各属性设置,各种不解,这里做个总结: 项目配置: 基本项(Basic) 1.Architectures(指令集)--设置你想支持的指令集,目前ios的指令集有以下几种 ...

  7. xcode armv7 armv7s arm64

    armv6 armv7 armv7s arm64引起编译包翻倍增大的问题,下边来说一下关于ios这个指令集 目前ios的指令集有以下几种: armv6 iPhone iPhone2 iPhone3G ...

  8. Xcode打包踩过的那些坑

    一.file was built for archive which is not the architecture being linked (armv7s) 项目是基于cocos2d-x绑定lua ...

  9. iOS开发笔记(IOS7回归)

    <---点击左上角目录,可以快速查找这里是否有你遇到的问题条目<--- 1,iOS中如何设置项目/文件是否支持ARC 旧工程配置arc方案: 1,直接在targets->build ...

最新文章

  1. 【翻译】Ext JS 6 Beta发布
  2. 配置oracle net,配置 Oracle Net 的3个重要文件
  3. 换个姿势学数学:二次函数与拆弹部队
  4. Linux下,终端录制-asciinema
  5. 分布式id 实现方式
  6. 网络推广费用浅析有关导致百度快照倒退的因素是什么?
  7. Python基础知识点分享:OS模块的应用
  8. 浅析负载均衡的6种算法,Ngnix的5种算法
  9. 重构知识的供给模式 ——《数据平台》从思考到落地
  10. 位运算应用及其注意事项
  11. HTML5中的移动开发框架有哪些?
  12. Oracle数据库用户密码过期
  13. C++课后作业 10.教材习题7_6:哺乳动物类Mammal派生出狗类Dog
  14. 8. 无内容可写?应该注重平常的素材收集
  15. css相对图片加文字,html+css怎么在图片上添加文字
  16. Python每天练习——小程序006
  17. php后端开发需要懂什么意思,PHP中的=什么意思?_后端开发
  18. 美国囤积零日漏洞的目的何在?
  19. 当工厂走出“工厂”,直营店也不止于“店”
  20. 单相半波可控整流电路实验报告matlab,单向半波可控整流电流MATLAB仿真实验报告...

热门文章

  1. 利用python3.x实现小爬虫下载贴吧内图片
  2. weblogic mime-type
  3. ARX中的Purge
  4. Unity3D研究院之C#使用Socket与HTTP连接服务器传输数据包
  5. flannel源码分析--LookupExtIface
  6. axios vue 回调函数_Vue 02 —— Vue 入门小案例~使用 Axios 中的GET、POST请求
  7. 怎么向tab control中加其它控件(如文本框等)
  8. 用友华表cell的程序发布
  9. Service的一些使用
  10. Linux下安装nfs服务器