参考文章:
如何打包静态库.a文件
xcode如何实现多工程联编 Target Dependencies
Target Dependencies 是用来指定编译顺序的。
是指需要先编译好Target Dependencies中的库,
才能编译当前Target。
- 查看.a文件支持哪些处理器架构Architectures
lipo -info空格+.a路径(路径可以拖动文件到命令行工具自动生成)
$ lipo -info /Users/yuanzhiying/Desktop/libRCSCore.a
Architectures in the fat file: /Users/yuanzhiying/Desktop/libRCSCore.a are: i386 x86_64
- 合并多个.a文件为一个文件
lipo -create .a路径 .a路径 -output 最终.a的路径
lipo -create /Users/ssiwo02/Desktop/A/libXXXXX-armv7.a /Users/ssiwo02/Desktop/B/libXXXXXX-armv7s.a -output /Users/ssiwo02/Desktop/libXXXXX.a
iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么
- armv7|armv7s|arm64都是ARM处理器的指令集
- i386|x86_64 是Mac处理器的指令集
arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)
armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4
i386是针对intel通用微处理器32位处理器
x86_64是针对x86架构的64位处理器
模拟器32位处理器测试需要i386架构,
模拟器64位处理器测试需要x86_64架构,
真机32位处理器需要armv7,或者armv7s架构,
真机64位处理器需要arm64架构。
- sdk不支持模拟器解决办法
使用宏定义 TARGET_OS_SIMULATOR 来判断,区别不同的代码