1.生成静态库大步骤
-
创建项目时,直接选择静态库(.a)
QQ20161122-0@2x.png
B8DA65CB-7378-4F38-B37F-DC059B5E0BAD.png
QQ20161122-2@2x.png
QQ20161122-1@2x.png
QQ20161122-12@2x.png
QQ20161122-3@2x.png
QQ20161122-4@2x.png
QQ20161122-5@2x.png
QQ20161122-6@2x.png -
设置需要暴露的头文件
QQ20161122-7@2x.png
QQ20161122-8@2x.png
QQ20161122-9@2x.png - 在模拟器环境下编译(得到模拟器环境下的静态库),选择模拟器5s编译
- 在真机环境下编译(得到真机环境下的静态库)
2.静态库使用测试
-
使用模拟器的静态库,拖入测试工程
![QQ20161122-11@2x.png](https://img.haomeiwen.com/i3487713/c504a268a74e4369.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)- 使用5s模拟器进行测试,通过
- 使用真机,编译,失败
- 使用低型号模拟测试,失败
-
测试结果分析
- 模拟器下的静态库和真机下的静态库不能共用
-
主要原因是模拟器和真机CPU架构不一样(各个模拟器型号之间架构也不一样)
QQ20161124-1@2x.png
QQ20161124-2@2x.png
-
主要静态库所支持的架构
- 不同机型的CUP,对应的架构不同
- 模拟器:
- 4s-5<i386>
- 5s-6sPlus<x86_64>
- 真机
- 3gs----4s:armv7
- 5/5c:armv7s(armv7兼容armv7s)
- 5s----6sPlus:arm64
- 查看静态库支持的架构
- 打开终端--->lipo -info 路径
- 怎样一次编译支持多个架构的静态库?
- Bulid Settings -> Bulid Active -> NO
网友评论