iOS Build Active Architecture Only 属性的理解(及 not found for architecture i386 的解决方案)
最近做项目过程遇到一个问题:
涉及到这个属性:Build Active Architecture Only
Yes 、No的区别:
设置为yes,是只编译当前的architecture版本,是为了编译速度更快,一般我们在debug环境下这样设置。
而设置为no时,系统会编译所有architecture下的版本。
这里设备对应的architecture(摘自网络):
就是说,编译出的版本是向下兼容的,比如你设置此值为yes,用iphone4编译出来的是armv7版本的,iphone5也可以运行,但是armv6的设备就不能运行。
(因为armv7s是在armv7后面,armv7可以了,armv7s也就同时可以了)
所以,有时候我们会看到类似这样一种错:
乍一看,是i386不支持的问题,但我这里的原因是这样:(各位遇到此问题的可尝试检查一下这里)
我引用的第三方类库里面设置的Release下位Yes,而我自己的项目Release下是No,所以造成这样的错误,两种解决办法:
1、将自己的项目Release下也设置成Yes。
2、修改引用类库,将Release下改成No即可。(这里类库是我自己写的,所以修改比较方便)
推荐第二种方法。
建议:
一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。
PS:这里如果release也设置成Yes,上线以后会不会有问题,本人还未测试,望有知道答案的留言下~~
iOS Build Active Architecture Only 属性的理解(及 not found for architecture i386 的解决方案)的更多相关文章
- iOS之关于Architectures设置及Build Active Architecture Only编译设置
一,前言 最近在帮朋友解决极光报错的提示:“file was built for archive which is not the architecture being linked (i386)”时 ...
- 关于Build Active Architecture Only属性
关于Build Active Architecture Only属性 Architecture 属性在BuildSetting里. 这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当 ...
- Xcode的Architectures、Valid Architectures和Build Active Architecture Only属性
Architectures 这代表,在这个项目里你想要Xcode编译的目标设备列表. Valid Architectures 还不是太明确这个设置的意图,但是一般来说是不需要更改的,和Architec ...
- Xcode的Architectures、Valid Architectures和Build Active Architecture Only属性(原创)
最近xcode升级了5.1版本,升级之后程序报关于要适配arm64机器的错.之前对xcode的参数配置,一直不是很了解,但实现先面对问题了,就调查了一下并解决它. 一个一个来吧. Architectu ...
- iOS 应用打包 设备兼容性问题(Build Active Architecture Only)
在把应用打包安装到iPod Touch上面时,设备提示不兼容,所以就有几种猜想: 1.CPU架构问题,因为我手里这个iPod Touch的CPU是A5,是32位的: 2.TARGETS里面相关的设置对 ...
- 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 ...
- xcode编译时,有第三方库时,编译设置build active architecture only问题
本文转载至 http://blog.csdn.net/ysysbaobei/article/details/16371263 编译静态库 1.http://blog.csdn.net/dengdeng ...
- xcode选项Build Active Architecture Only的作用
Build Active Architecture Only 设置: 设置为NO的时候,会导致react-native项目启动失败npx react-native run-ios 根据错误信息 bui ...
- ios build时,Undefined symbols for architecture xxx问题的总结
简单来说,Undefined symbols基本上等于JAVA的ClassNotFoundException,最常见的原因有这几种: build的时候没有加framework 比如说,有一段代码我用了 ...
随机推荐
- JavaScript深究系列 [一]
1. JavaScript中 = = = 首先,== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ===,不做类型转换,类型不同 ...
- 在VS 2012 配置SDL
一.链接:http://pan.baidu.com/s/1kVaWteR 密码:zt81 下载两个文件夹.(如果不行就到 SDL官网 https://www.libsdl.org/ 和 SDL2_im ...
- 探秘Java中的String、StringBuilder以及StringBuffer
探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问 到的地方,今天就来和大家一起学习 ...
- URL(统一资源定位符)结构和注意事项
URL的常见结构: http://localhost/项目名称/文件1/文件2... 注意事项: 当我们在项目中在书写URL的时候,一般会出现两种情况: 第一种:在路径前面加上/,表示直接连在loca ...
- ae显示标注
//添加标注,比TextElment功能更强大 public static void ToAddAnnotate(ILayer layer, string fieldName) { IGeoFeatu ...
- DEV柱状图----傻瓜版
this.chartControl1.Series.Clear();//清空 //获得数据 sqldb sqldb = new sqldb(); string sql = "select T ...
- 简单粗爆的解决同时布CRM引起的死锁问题
和同事一起发布CRM引起CRM死锁,当然可以重启SQL Server不过有更简单的方法,直接执行下面的语句即可 sp_lock kill 58
- 为什么relativelayout.layoutParams的width为-1
源码里看下就知道了.. -1不代表宽度,代表MATCH_PARENT常量的值public static final int FILL_PARENT = -1; public static final ...
- iPhone 信号格转变数字
?在拨号键输入*3001#12345#* ?按呼叫键,就会进入Field Test页面 ?你就会看到信号格变为了数字,然而只要按home键返回就又会变为信号格 ?如果想一直变为数字的话,在Field ...
- android 浅谈Aidl 通讯机制
服务端: 首先是编写一个aidl文件,注意AIDL只支持方法,不能定义静态成员,并且方法也不能有类似public等的修饰符:AIDL运行方法有任何类型的参数和返回值,在java的类型中,以下的类型使用 ...