美文网首页IOSiOS大法好
iOS framework 静态库制作

iOS framework 静态库制作

作者: _蓝星 | 来源:发表于2018-11-20 19:00 被阅读8次

1.库的分类

  • 静态库(.a 和 .framework)
  • 动态库(.liby 和 .framework)

2.两者的区别

  • 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝。(比如友盟SDK、极光推送SDK等)
  • 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。(比如UIKit.framework、Foundation.framework等)

3.可构建的版本

  • 真机-Debug版本
  • 真机-Release版本
  • 模拟器-Debug版本
  • 模拟器-Release版本

4.framework制作流程

4.1 创建静态库工程
1.创建framework工程.png
4.2 静态库工程的四项配置
2.选择类型为静态库.png 3.Debug模式下同样向下兼容机型.png 4.打真机包的时候会多一个armv7s.png 5..png
4.3 创建测试类
6.创建测试类.png
4.4 暴露头文件
7.暴露头文件.png
4.5 创建四个静态包(及上边提到的四种版本)
  • 真机选择需要注意一下


    8.选择真机.png
  • 获取.framework


    9.获取framework.png
  • 获取到的内容


    10.获取到四个静态包.png
4.6 合并静态包
  • “真机-Debug”和“模拟器-Debug”
  • “真机-Release”和“模拟器-Release”
lipo -create Debug模拟器.a路径+空格+Debug真机.a路径+输出路径+输出名字
例:
lipo -info /Users/mahaozhe/Desktop/静态库开发/framework/OneFramework_Release_iPhone.framework/OneFramework /Users/mahaozhe/Desktop/静态库开发/framework/OneFramework_Release_Simulator.framework/OneFramework -output /Users/mahaozhe/Desktop/静态库开发/framework/OneFramework_Release
  • 合成所用的文件


    11.合成所需要的文件.png
  • 更换文件


    12.替换前的样子.png
    13.替换后的样子.png
  • 最终的样子


    14.最终需要的两个文件.png
4.7 创建新工程,导入framework
15.目录结构.png
  • 关于导入framewoke报错找不到什么文件的网上搜一下解决方法。
4.8 使用framework
16.framework的使用.png
  • 框框处如果报错可以在framework同名头文件也导入这个文件


    17.修复警告.png
  • 使用结果


    18.测试完成.png

本文引用借鉴了网上小伙伴的诸多内容,自己写一遍是为了方便自己再次浏览。如果对您也有帮助,我会很开心。

相关文章

网友评论

    本文标题:iOS framework 静态库制作

    本文链接:https://www.haomeiwen.com/subject/wibxqqtx.html