iOS - 从头开始封装.framework
2017-02-27 本文已影响86人
SunshineAutumn
前边写了如何封装.a,现在我们就来说说怎么封装.framework
相信大家都知道,.framework既是静态库的存在形式也是动态库的存在形式,因为我们自己封装的.framework是静态库,但是系统的.framework是动态库。
上一篇文章说了,.a需要配合.h文件使用,但是.framework可以直接使用,这么看来的话,还是.framework好一点啊😁,所以下面我们来唠唠怎么封装.framework
封装framework步骤
1.创建工程-选择Cocoa Touch Framework选项
屏幕快照 2017-02-27 上午11.32.47.png创建完成之后是这个样子滴
屏幕快照 2017-02-27 上午11.34.09.png2.创建功能类
楼主没有重新写,直接找了一个以前封装的弹窗类
屏幕快照 2017-02-27 上午11.42.36.png3.配置项目,Target-build Setting-Linking
屏幕快照 2017-02-27 上午11.46.38.pngTarget-build Setting-Architectures
屏幕快照 2017-02-27 上午11.50.00.png 屏幕快照 2017-02-27 上午11.50.28.png配置完成如下图:
屏幕快照 2017-02-27 上午11.52.06.png4.设置需要公开或隐藏的头文件,将需要公开的头文件放到Public下
屏幕快照 2017-02-27 上午11.53.31.png屏幕快照 2017-02-27 上午11.58.42.png注意:
1.隐藏的头文件无法引用
2.MoreFramework.h文件必须公开,否则无法引用,且需要将你公开的头文件都在MoreFramework中引入
5.至此我们的打包工作基本结束了,就差最后一步打包了,最后我们选中模拟器编译一次,选中测试机编译一次,之后会生成两个Framework的包,最后合并两个Framework就完成打包了。
屏幕快照 2017-02-27 下午12.18.20.png 屏幕快照 2017-02-27 下午12.18.56.png通过终端合并的命令行是:
lipo -create iphoneos下frameworkTest的路径 simulator下frameworkTest的路径 -output 新的路径
注意:在这里生成的新的framework的是带有lipo后缀的文件,没关系,不要在意,将.lipo后缀去掉就好了😄,然后替换掉上图合并的那个文件,替换完成后MoreFramework.framework就是最后那个我们想要的可以真机可以模拟器运行的文件了。
还有一种封装方法是通过脚本打包的,这里就不做介绍了。