制作framework静态库
1、打开xcode,新建工程
选择framwork
2、target -> build setting修改参数
Mach-O Type改为 Static Library 重要这里默认为Dynamic Libray不改则是动态库。
3、修改SDK适配的平台和最低支持的版本
target -> General -> Deployment Info,按照自己需要选择版本和平台即可
4、编写SDK代码
这里照Application工程来新建.h和.m文件等来实现自己想要的功能。
5、设置SDK需要保留给外部的头文件
有2种方式
a、选中.h文件,在右侧的Target Membership选择pulic则为暴露的头文件
b、target -> Build Phases->Headers把需要暴露的头文件长按拖动到Public下面即可
7、导出framework文件
a、导出真机架构的framework文件
编译设备选择真机/或者无设备,xcode左上角菜单栏Product->build for 导出对应模式下的framework文件。
也可以选择快捷键。
b、导出模拟器架构的framework文件
编译器选择任一模拟器然后重复上面build for步骤即可
8、合并成一个真机和模拟器都可以用的framework文件
如果不需要支持真机可以跳过合并直接提供真机架构的framework文件给外部使用即可。
工程左边文件目录选择Products文件夹下framework文件,右键选择show in floder找到iPhoneos文件夹下的真机架构文件和iphonesimulator文件夹下的模拟器架构文件
8.1、打开终端执行
lipo -create -output outputpath/二进制文件 frameworkpath1/二进制文件 frameworkpath2/二进制文件
outputpath --最终framework二进制文件存放的路径
也可以lipo -create frameworkpath1/二进制文件 frameworkpath2/二进制文件 -output outputpath/二进制文件
8.2、把最终生成的二进制文件去替换iPhoneos文件夹下的framework文件下的同名文件,framework文件就是我们可以提供出去的framework文件了。
至此大功告成。