简单了解一下iPhone模拟器和真机的系统架构:
TABLE | iPhone 4s | iPhone 5 | iPhone 5s及以上 |
---|---|---|---|
模拟器 |
i386架构 32位
|
i386架构 32位
|
x86_64架构 64位
|
真机 |
armv7架构 32位
|
armv7s架构 32位
|
arm64架构 64位
|
-
在xcode中创建一个静态库之后,Build Settings 里面可以添加移动设备的系统架构(注意:iOS11不支持iPhone5及以下设备),如下图:
-
将Architecture Only改为No,在不同框架的设备上编译后能生成包含不同框架的库,如下图:
-
Show in Finder 找到我们的静态库,include里面没有我们添加的.h文件,在终端切换到当前目录Debug-iphonesimulator,通过命令行lipo -info xxxx.a 查看静态库的架构.
-
在Copy Files里添加我们的.h文件,如下图:
-
再次编译之后就ok了,如下图:
-
通过搜索mach,查看库类型,注意苹果规定App中不能带有自己的动态库,否者在上架的时候会残忍拒绝,如果需要上架只能使用静态库: