什么是framework?
Framework是资源的集合,将静态库(iOS8以后可以是动态库)和其头文件包含到一个结构中,让Xcode可以方便地把它纳入到你的项目中.
如何制作framework?
1.打开xcode新建

2.新建之后需要修改一些配置 如下图:


3.我们写好自己的业务后 将需要暴露的.h文件 暴露出来即可.将.h右键move 移动到public即可。

4.由于业务需要 我们可能需要在工程中添加依赖库如libz,libc++等这样的库 ,但是当添加完之后我们发现xcode报如下的错

解决方法是添加时 点AddOther 然后按键盘 shift+command +G 然后点击go即可 在里面选择就可以了。

5.我们可能在framework中引用像afnetworking这样的库,但是当我们把framework拿到工程中用的时候,工程中也导入 就会导致冲突,目前我的解决办法是在framework中 删除afnetworking的.m 只留.h。
当我们写好业务逻辑之后,我们需要分别build 真机包 和模拟器包,生成的包 会在两个目录下。
按照下面命令合并 就好

接下来我们将合并得到的SDKDemo.framework 替换真机或者模拟的framework, 该.framework就是我们最终需要的.framework文件了, 好了这样就成功了。
网友评论