iOS打包framework
上面一节我们讲述了制作静态库和使用静态库.现在我们就学习制作动态库framework.
1.首先创建工程.
![](https://img.haomeiwen.com/i1162260/54ff4d11ce231dd1.png)
点击创建Cocoa Touch Framework.
![](http://upload-images.jianshu.io/upload_images/1162260-98cacc44fbf6688d.png)
点击next创建工程.
![](http://upload-images.jianshu.io/upload_images/1162260-9c9c0aae816e8671.png)
1.info.plist文件,也就是我们的工程配置文件.
2.WQWeixinPaySDK.h是SDK中的头文件.
3.
![](http://upload-images.jianshu.io/upload_images/1162260-afdd3d1f77f236aa.png)
![](http://upload-images.jianshu.io/upload_images/1162260-7eca03cdea22b897.png)
好了开始写代码.
![](http://upload-images.jianshu.io/upload_images/1162260-0732687346b364f1.png)
![](http://upload-images.jianshu.io/upload_images/1162260-03c6bcb86e880526.png)
![](http://upload-images.jianshu.io/upload_images/1162260-0ac44c149cfd030b.png)
第一个和第二个是SDK的版本号
然后就是配置工程
![](http://upload-images.jianshu.io/upload_images/1162260-7f64df9c4cf13e15.png)
![](http://upload-images.jianshu.io/upload_images/1162260-408ecd53c1075e78.png)
![](http://upload-images.jianshu.io/upload_images/1162260-f57eeada39a98ae4.png)
然后就是进行编译
先用模拟器编译,然后在用真机编译.
编译完成后,将framework文件复制导出防止到sdk包中.
![](http://upload-images.jianshu.io/upload_images/1162260-d2b0854914475ac8.png)
![](http://upload-images.jianshu.io/upload_images/1162260-1cafa51657278095.png)
然后就是集成
然后创建测试工程,将sdk拖入工程和静态库一致就不多解释.
![](http://upload-images.jianshu.io/upload_images/1162260-086d4811de899253.png)
到底我做了什么还需要做什么.
![](http://upload-images.jianshu.io/upload_images/1162260-302bec10f38f916c.png)
但是为什么会崩溃啦.
![](http://upload-images.jianshu.io/upload_images/1162260-b1c824d5ac69e948.png)
![](http://upload-images.jianshu.io/upload_images/1162260-d75e0a20f35a7f05.png)
好了framework的简单制作就说到这了.但是bundle文件为什么还没有说怎么制作了.
因为这个太简单了就说一下.
1.创建工程.
![](http://upload-images.jianshu.io/upload_images/1162260-eff0b8800295cc17.png)
然后创建工程.然后将图片导入.直接打包就ok了.就这么简单.
那再来分析一波静态库和framework有什么区别啦.
两种都能打包只暴露.h文件而且具有一定的相似性.
那么他们的不同点是什么啦.
1.从字面意思理解static library是静态的 framework是动态库
这里的所谓静态和动态是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改静态库;而动态库在程序编译时并不会被链接到目标代码中,只是在程序运行时才被载入,因为在程序运行期间还需要动态库的存在。
2.而且UIKIt框架就是framework.这样做可以大大减小编译器的压力.而且随着运行期组件的发展,对动态库的执行速度也大大提升.可以很好的提升性能.
好了基本就说到这吧.如果有什么需要可以qq联系
如果喜欢小编,可以点击关注,我会不定期的更新一些文章,也可以关注我的专题
本人联系方式:qq:513961360
vx:扫描下方二维码:
希望能有志同道合的好友加我.聊技术.聊生活都可以.
email:513961360@qq.com
也可以加我们的qq群希望能与朋友们一起聊天和学习.群里还有很多iOS开发者,帮助我们解决问题,并且同时学习.
qq群号:580284575