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都要支持才可以,所以你要重新编译一遍。

Xcode的Architectures、Valid Architectures和Build Active Architecture Only属性的更多相关文章

  1. 关于Build Active Architecture Only属性

    关于Build Active Architecture Only属性 Architecture 属性在BuildSetting里. 这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当 ...

  2. Xcode的Architectures、Valid Architectures和Build Active Architecture Only属性(原创)

    最近xcode升级了5.1版本,升级之后程序报关于要适配arm64机器的错.之前对xcode的参数配置,一直不是很了解,但实现先面对问题了,就调查了一下并解决它. 一个一个来吧. Architectu ...

  3. iOS Build Active Architecture Only 属性的理解(及 not found for architecture i386 的解决方案)

    最近做项目过程遇到一个问题: 涉及到这个属性:Build Active Architecture Only Yes .No的区别: 设置为yes,是只编译当前的architecture版本,是为了编译 ...

  4. xcode编译时,有第三方库时,编译设置build active architecture only问题

    本文转载至 http://blog.csdn.net/ysysbaobei/article/details/16371263 编译静态库 1.http://blog.csdn.net/dengdeng ...

  5. Xcode 中armv6 armv7 armv7s arm64 i386 x86_64 归纳 (Architectures, Valid Architectures, Build Active Architecture Only)

    http://www.jianshu.com/p/09b445300d40 简介: armv7|armv7s|arm64都是ARM处理器的指令集 i386|x86_64 是Mac处理器的指令集 目前i ...

  6. iOS之关于Architectures设置及Build Active Architecture Only编译设置

    一,前言 最近在帮朋友解决极光报错的提示:“file was built for archive which is not the architecture being linked (i386)”时 ...

  7. xcode选项Build Active Architecture Only的作用

    Build Active Architecture Only 设置: 设置为NO的时候,会导致react-native项目启动失败npx react-native run-ios 根据错误信息 bui ...

  8. iOS 应用打包 设备兼容性问题(Build Active Architecture Only)

    在把应用打包安装到iPod Touch上面时,设备提示不兼容,所以就有几种猜想: 1.CPU架构问题,因为我手里这个iPod Touch的CPU是A5,是32位的: 2.TARGETS里面相关的设置对 ...

  9. iOS Architecture和Valid architectures

    目前ios的指令集有以下几种: 1,armv6,支持的机器iPhone,iPhone2,iPhone3G及对应的iTouch 2,armv7,支持的机器iPhone4,iPhone4S 3,armv7 ...

随机推荐

  1. Android应用开发基础篇(12)-----Socket通信

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/03/2378669.html 一.概述 网络通信无论在手机还是其他设备上都应用得非常广泛,因此掌 ...

  2. Codecademy学习打卡1

    ————————————————————————— 想学习编程,并且打算“闭门造车”式的开启我的自学生涯. 前段时间买了一门厚重的“Java从入门到精通”.或许是对代码,电脑编程环境的陌生,再加上纯小 ...

  3. Spring 基于注解的装配

    xml头文件 xmlns:context="http://www.springframework.org/schema/context" 扫描包:<context:compo ...

  4. java ajax初始化

    <script type="text/javascript">    var http_request = false;    function createXMLHt ...

  5. Sublime 编辑器主题

    Sublime主题分为两种 一种是编辑框中的代码的颜色  另一种是编辑器本身的颜色(不只是颜色哟  Sublime编辑器左边侧边栏的字很小对不对 !有了主题就可以改) 这个主题叫做Soda  http ...

  6. android 子线程更新UI

    参考http://examples.javacodegeeks.com/android/core/os/handler/android-handler-example/package com.exam ...

  7. HDU2577:How to Type(DP)

    Problem Description Pirates have finished developing the typing software. He called Cathy to test hi ...

  8. Tree(未解决。。。)

    Tree Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  9. sqlite性能简单測试

    主要測试sqlite在大数据量下的插入及查询性能: 測试环境:Centos6.4  1G内存  单核 数据量 大小 索引字段检索(耗时) 非索引字段检索(耗时) 总插入时间 10W 19M 0.001 ...

  10. 11个实用但你可能不知道的Python程序库

    目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit- ...