- 架构: 指的CPU的架构,也叫指令集架构
iOS开发中架构的种类分为: 真机 和 模拟器
查看项目的架构:
命令行工具 lipo
查看架构 lipo -info 类库的路径
真机架构:
armv 7 对应--> iPhone4s
armv 7s 对应--> iPhone5/c
armv8(arm64) 对应--> iPhone 5s iPhone 6 iPhone 6s
模拟器架构:
i386 对应--> iPhone 4s iPhone5
x86_64 对应--> iPhone 5s iPhone 5;6 iPhone6s
- 在开发框架中,需要将支持不同架构的类库进行合成处理:
方式1:
合成指令:lipo -create 类库1路径 类库2路径 -output 生成的类库的路径
方式2: 在build setting-Architectures中设置Build active architecture Only设置为NO
缺点:
- 只能生成模拟器/真机中的一种
- 真机中不会自动生成armv7s类型的,需要手动添加该类型,在Architecture中设置即可
- 一般架构问题在开发中遇到的报错为:
Undefined symbols for architecture x86_64:
在x86_64架构放下有未定义的符号
出现形似"XX架构中有未定义符号"的错误,只有两个原因:
1> 使用的类库没有导入
2> 类库使用的架构和项目使用的架构(部署的环境,产出物是部署给什么平台)不同