IOS 开发学习37 的Architecture与iphone版本对应关系
2015-06-24 18:05
513 查看
简介
Arm是处理器是移动设备上占用率最大的处理器。 armv6、armv7、armv7s、arm64都是arm处理器的指令集。通常指令是向下兼容的。在模拟器运行时,iOS模拟器运行的是x86指令集。只有在真机上,才会对执行arm指令集。
如果出现错误:
“OBJC_CLASS$_xx文件名”, referenced from:
linker command failed with exit code 1 (use -v to see invocation)
要设置:
Build Active Architecture Only
这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本,所以会报错编译不到文件,出错(”OBJC_CLASS$_ZBarReaderViewController”, referenced from:)
而设置为no时,会编译所有的版本。
设备对应的architecture:
架构 | 版本 |
---|---|
armv6 | iPhone,iPhone 2G/3G, iPod 1G/2G |
armv7 | iPhone 3GS,iPhone4,iPhone 4s, iPad,iPad2,iPad3(The New iPad),iPad mini, iPod Touch 3G,iPod Touch4 |
armv7s | iPhone5, iPhone5C, iPad4, iPod5 |
arm64 | iPhone5s,iPhone6,iPhone6 Plus, iPad Air,iPad mini2(iPad mini with Retina Display) |
Xcode的Achitectures设置
Architectures:
选择Target生成包所支持的指令集,则意味着生成的包里面要包含对应的指令集代码。原则上选择的Target多,会造成生成的包比较大。
Valid Architectures:
Valid Architectures限制可能被支持的指令集范围。生成的包里,是Valid Architectures与Architectures的交集。
Build Active Architecture Only:
是否只编译当前连接设备所支持的指令集。编译生成的包里支持的指令集,与上面的三个选项设置都有密切的关系。如:
现XCode连接New iPad(支持armv7)设置:
选项 | 值 |
---|---|
Build Active Architecture Only | YES |
Architectures | armv7 armv7s arm64 |
ValidArchitectures | armv7 armv7s arm64 |
这时生成包支持指令集 | armv7 |
选项 | 值 |
---|---|
Build Active Architecture Only | YES |
Architectures | armv7 armv7s arm64 |
ValidArchitectures | armv6 armv7s arm64 |
这时生成包支持指令集 | 编译报错:No architectures to compile for… |
转载自 http://blog.csdn.net/xundh/article/details/46623273
相关文章推荐
- 【iOS开发系列】多线程开发
- IOS项目之分层MVVM
- iOS NSThread 的三种创建线程的方法 非常简单好用
- IOS--OC--LessonProperty 属性 点语法
- Cordova+ ios 插件开发
- OC基础:属性.点语法.KVC 分类: ios学习 OC 2015-06-24 17:24 61人阅读 评论(0) 收藏
- 【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)
- iOS 延时执行(OC)
- iOS中使用.plist文件延迟读取的方法(续)
- iOS 系统地图实现及定位
- iOS学习010
- ios中纯手写代码怎么实现内容的自动布局
- mac ox mountain lion+xcode4.5 编译 boost for ios
- iOS进阶——可取消的block
- iOS中使用.plist文件延迟读取的方法
- “自释放”在iOS开发中的应用
- ios开发开源框架和类
- 【转】ios字符串编码转换(utf-8 & gbk)问题
- iOS开发基础之ivars(实例变量)与@property(属性)
- iOS xcode7 beta 播放英语