一、编译.a静态库

1.1 创建.a静态库

创建项目时,选择Framework&Library–>Static Library

1.2 编写核心代码

TODO

编译静态库前,将头文件暴露出去

1.3 编译模拟器和真机库

打开Products即可看到.a静态库

1.4 测试使用静态库

创建一个项目,测试使用静态库即可.

二、静态库的架构问题

  • 设备的CPU架构
    • 不同的设备使用的CPU是不同的
    • CPU的不同造成使用的CPU架构(指令集)不同
  • 静态库有其支持的CPU架构
    • 如果静态库在不支持的CPU架构上运行就会报错
  • 模拟器使用的CPU架构
    • iPhone4s-iPhone5 : i386
    • iPhone5s-iPhone6plus : x86_64
  • 真机使用的CPU架构
    • iPhone3gs-iPhone4s : armv7
    • iPhone5-iPhone5c : armv7s
    • iPhone5s-iPhone6plus : arm64
    • 唯一特殊:只要支持armv7的静态库可以在armv7s上正常运行
  • 查看静态库支持的架构
    • lipo -info 静态库
  • 合并静态库
    • lipo -create 静态库1 静态库2 -output 合并的静态库