制作Framework(测试工程和Framework制作二和一,Framework中包含第三方.a或Framework)

记录一下静态库的制作,同时给需要的小伙伴看一下,也希望有做得的不对的地方大神可以指点一下。

一、创建测试工程

chushi.jpg

二、添加制作FrameWork工程

1) 添加制作framework的工程


chuangFramework.jpg

2)选择Cocoa Touch Framework 点击Next


屏幕快照 2018-03-27 上午11.24.37.png

3)创建成功后可以看到相应的用来制作FrameWork的工程
Framework.jpg

三、相关配置

1)选择Mach-O的编译方式
这一步决定我们制作出来的是静态库还是动态库,默认选择的是Dynamic Library,要手动选择Static Library


屏幕快照 2018-03-27 上午11.50.20.png

2) 修改编译集指令
模拟器:iPhone4s~5 : i386 iPhone5s~6plus : x86_64
真机:iPhone3gs~4s : armv7 iPhone5~5c : armv7s iPhone5s~6plus : arm64
如果这里,设置为YES,那么编译出来的静态库就只包含当前设备的指令集。设置为NO,则会把所有指令集的都打包合并。


屏幕快照 2018-03-27 下午12.02.28.png

3)如果你的framework里面需要添加一些分类,那么需要在Other Linker Flags 添加 -all_load(注意符号不要用中文写了,-all_load它的作用是加载静态库中所有文件,-all_load作用于所有的库)
屏幕快照 2018-03-27 下午12.09.53.png

4)设置Framework支持的最低版本的iOS系统
systom.jpg

四、添加依赖的第三方framework或.a

屏幕快照 2018-03-27 下午1.17.29.png

设置其搜索路径


屏幕快照 2018-03-27 下午3.06.31.png

五、添加第三方Framework或.a所需的依赖库

这里添加的.dylib如果使用新的.tbd编译会报错,简单的处理就是还替换添加.dylib的库<在Link Binary withLibaraies中点击加号->Add Other...->Shift + Command + G组合键->输入/usr/lib->找到需要添加的库


屏幕快照 2018-03-27 下午2.22.51.png

屏幕快照 2018-03-27 下午2.24.30.png

yilai.jpg

六、配置好,开始编写代码。我就不写了直接copy进来了。

屏幕快照 2018-03-27 下午2.33.55.png

七、设置外放头文件

touwenjian.jpg

tou.jpg

八、配置测试工程

1)将依赖的三方库copy到测试工程里


屏幕快照 2018-03-27 下午2.46.45.png

屏幕快照 2018-03-27 下午2.47.56.png

2)添加相关依赖库以及设置其所需的其他配置


屏幕快照 2018-03-27 下午2.53.39.png

九、在测试工程中,添加头文件进行测试

header.jpg

十、如果测试可以编译通过就可以打包了

1)Debug版本


bao.jpg

iphone.jpg

2)release版本


release.jpg

3)查看生成的Framework
屏幕快照 2018-03-27 下午3.45.02.png

屏幕快照 2018-03-27 下午3.46.32.png

十一、有关Framework的相关合并我就附上一个链接了,写的不对的地方希望看到的大神可以给指点一下。

参考

https://www.jianshu.com/p/e588bb0411d8
https://www.jianshu.com/p/155a3cfb765e
https://www.jianshu.com/p/43d55ae49f59
https://zhuanlan.zhihu.com/p/24368343

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容