最近有一个新项目,需要复用另外一个项目的模块,打包成Framework,可以重复使用此模块减少重复开发工作量,又不想让别人知道代码的具体实现
1.Xcode 创建一个新工程,使用下面的模版

2.创建功能类

3.项目配置将FrameWork 设置成静态库

4.设置需要公开的头文件,将需要暴露出来的头文件放在public下面,隐藏在project 或private 下面的头文件无法被外部引用

然后需要在TestStaticFrame.h(必须是公开的,否则无法引用)中将你所有要公开的.h引入,不然在使用FramWork时会报警告

5.将 Build Active Architecture Only修改为NO,否则生成的静态库就只支持当前选择设备的架构。

6.运行打包
选中任一模拟器 Commend +B
选中真机(Generic iOS Device) Commend + B
在工程的Products文件夹下的.framework文件从红色变成了黑色。编译成功,选中 然后Show in Finder,然后可以看到真机和模拟器都生成了framework

7.通过终端可以将两个framewrok合并成一个真机和模块器都可以使用的framework
lipo -create第一个.framework文件的绝对路径 第二个.framework文件的绝对路径 -output 最终的文件路径

将生成的文件拖回上面的一个TestStaticFrame.framework的文件夹中替换之前TestStaticFrame,就生成我们最终的framework
8.使用framework
新建一个工程,把我们的静态库拖进去,导入头文件。

网友评论