本文实例为大家分享了ios制作framework静态库教程 ,供大家参考,具体内容如下
环境:
硬件:macbook air
系统:osx ei capitan 版本:10.11.3
xcode :version 7.2.1 (7c1002)
最近在做ios的静态库(据说framework动态库不能上传到app store).a 和framework都做过了,这里就先说framework的制作流程:
1.首先在xcode下新建cocoa touch framework工程:
2.新建好工程后,往里面添加要封装的代码,并且把包含公有api的头包含到自动生成的头文件里面
或者到build phases下headers里面把公有头文件放到public下
3.在build setting——>linking找到mach-o type 把值:dynamic library改为:static library,缺少这一步生成的framework就是动态库
4.找到edit scheme在run——>info下把build configure的值由默认值debug 改为release
5.选择要编译的硬件环境:分别在generic ios device和 iphone 6s plus(选择最新的模拟器)下编译一次,编译完后就可以看到工程的products文件下的xxx.framework由红色变成黑色(注意:如果只编译了iphone 6s plus模拟器,没有编译 generic ios device ,那么xxx.framework还是不会变成黑色)
6.xxx.framework 变成黑色后,选中xxx.framework右键show in finder 就可以看到生成的framework静态库。分别有release-iphoneos真机版和release-iphonesimulator模拟器版,也就是说生成的版本只能分别在各自的硬件环境下使用。
7.合并真机和模拟器版framework静态库,这样就可以在模拟器和真机下使用了,不过要注意生成的静态库的大小等于真机版和模拟器版的大小的和,所以要对程序进行缩小时,可以只用其中一个版本
使用xcode自带的lipo可以合并两个版本:在终端下使用命令:lipo -create /user/...../release-iphoneos/xxx.framework/xxx /user/...../release-iphonesimular/xxx.framework/xxx -output ./xxx
其中xxx为你的库的名称,路径为生成的静态库的路径,然后把生成的xxx放到真机或者模拟器版的xxx.framework里面替换里面原有的xxx库
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。