静态库的制作(.a)

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](http://upload-images.jianshu.io/upload_images/3487713-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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容