简单制作framework

1.创建 framework,如下图

2.Built Settings里参数配置:

  • Build Active Architecture Only设置为NO:即打包的.framework支持所有的设备,否则打包时只能用当前版本的模拟器或真机。
  • Dead Code Stripping设置为NO:会对代码中的deadunreachable的代码过滤,不过不开似乎也没有多大影响。
  • Link With Standard Libraries设置为NO:避免重复链接。
  • Mach-O Type设为Static Library:对于系统的framework是动态库,而用户制作的framework只能是静态库。

3.导入相关功能代码,设置要公开的头文件,并将所有公开的头文件导入到主头文件。

  • PS : 若导入有第三方库,最好自己把第三方类的名称改掉,因为可能跟项目里的第三方库重复,产生错误。


4. 修改Run模式改为Release模式,选择真机和模拟器,通过command+B编译,生成如图文件。

5.通过终端合并上图中真机和模拟器生成的FrameWorkTest文件。

|lipo -create | 真机的FrameWorkTest文件路径 | 模拟机的FrameWorkTest文件路径 | -output | 一个输出路径 |

6. 将新生成的文件替换掉真机的FrameWorkTest文件。

7. 修改最低版本号。

最后需要总结的:

  1. 制作 framework或者lib的时候,若使用了category,则使用该framework的程序运行时会崩溃,此时需要在该工程中 other linker flags添加两个参数 -ObjC -all_load

使用时注意事项:

  1. 将framework直接拖入项目。
  2. 修改Header Search Path$(SRCROOT)/xxx/xxx.framework/Headers

参考:
https://www.cnblogs.com/sunjianfei/p/6669988.html

你可能感兴趣的:(简单制作framework)