iOS framework 静态库制作
2018-11-20 本文已影响8人
_蓝星
1.库的分类
- 静态库(.a 和 .framework)
- 动态库(.liby 和 .framework)
2.两者的区别
- 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝。(比如友盟SDK、极光推送SDK等)
- 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。(比如UIKit.framework、Foundation.framework等)
3.可构建的版本
- 真机-Debug版本
- 真机-Release版本
- 模拟器-Debug版本
- 模拟器-Release版本
4.framework制作流程
4.1 创建静态库工程

4.2 静态库工程的四项配置




4.3 创建测试类

4.4 暴露头文件

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

- 关于导入framewoke报错找不到什么文件的网上搜一下解决方法。
4.8 使用framework

-
框框处如果报错可以在framework同名头文件也导入这个文件
17.修复警告.png
-
使用结果
18.测试完成.png
本文引用借鉴了网上小伙伴的诸多内容,自己写一遍是为了方便自己再次浏览。如果对您也有帮助,我会很开心。