记录一下静态库的制作,同时给需要的小伙伴看一下,也希望有做得的不对的地方大神可以指点一下。
一、创建测试工程
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.jpgtou.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的相关合并我就附上一个链接了,写的不对的地方希望看到的大神可以给指点一下。
- 真机和模拟器framework合并
https://www.jianshu.com/p/a4a54d74c060
参考
https://www.jianshu.com/p/e588bb0411d8
https://www.jianshu.com/p/155a3cfb765e
https://www.jianshu.com/p/43d55ae49f59
https://zhuanlan.zhihu.com/p/24368343
网友评论