组件23-二进制:静态库制作(.framework)和测试

建议使用.framework,因为.a不能单独用,还要.h;
.framework从本质上讲是个文件夹,里面有存在.a和.h。

  1. 新建工程, 直接选择.framework静态库;


    组件23-二进制:静态库制作(.framework)和测试_第1张图片
    最初的样子
  2. 编译时, 设置编译所有架构;


    组件23-二进制:静态库制作(.framework)和测试_第2张图片
    Build Active Architecture Only - NO
  3. 默认制作的是动态库, 需要设置链接类型。target -> Build Settings-> 搜索 Mach-o Type ; 改为静态库


    组件23-二进制:静态库制作(.framework)和测试_第3张图片
    Mach-O Type --> Static Library
  4. 新建文件,暴露头文件。


    组件23-二进制:静态库制作(.framework)和测试_第4张图片
    暴露头文件

    组件23-二进制:静态库制作(.framework)和测试_第5张图片
    磁盘下的.a文件和头文件
  5. 编译,查看库信息,看有哪些构架
    cd进入frameworkLib.framework执行如下操作:lipo -info 库名


    Snip20170713_28.png
  6. 编译debug(模拟器、真机),release(模拟器、真机),四个版本,合成。

  7. 创建测试工程,测试。

  • 如果一开始未设置为静态库,那么默认是动态库,就会报错;
  • 动态库的使用方式:

如何检测一个framework库是动态库是还静态库:

执行:file 库路径,如果出现dynamic ,那就是动态库。

动态库使用:

如果没有在Embedded Binaries处添加,会报错:Reason: image not found


组件23-二进制:静态库制作(.framework)和测试_第6张图片
Snip20170713_29.png

你可能感兴趣的:(组件23-二进制:静态库制作(.framework)和测试)