iOS制作Framework的流程

作为SDK开发与维护的工程师,framework的制作流程必须要熟悉!下面我详细介绍一下制作framework的流程.

  1. 首先创建工程,选择iOS->Cocoa Touch Framework,如下图所示:


    iOS制作Framework的流程_第1张图片
    image.png

    iOS制作Framework的流程_第2张图片
    image.png
  2. 进入项目后,删除系统自带的文件,导入需要制作SDK得源文件,如下图所示:


    iOS制作Framework的流程_第3张图片
    image.png

    iOS制作Framework的流程_第4张图片
    image.png
  3. 找到源文件中所引入的第三方库,删掉重新导入,在导入时选择不包括在SDK中,避免与使用方在第三方库上面的导入冲突,如下图所示:


    iOS制作Framework的流程_第5张图片
    image.png

    iOS制作Framework的流程_第6张图片
    image.png
  4. 接下来对我们的这个.framework静态库进行一些简单的设置,如下图所示:

a、将Build Settings中Link下面的Dead Code Stripping设置为NO,网上对此项的解释,大致意思是如果开启此项就会对代码中的”dead”、”unreachable”的代码过滤,不过这个开关是否关闭,似乎没有多大影响,不过为了完整还原framework中的代码,将此项关闭也未曾不可。


iOS制作Framework的流程_第7张图片
image.png

b、将Build Settings中Link下面的Link With Standard Libraries关闭,我想可能是为了避免重复链接


iOS制作Framework的流程_第8张图片
image.png

c、将Build Settings中Link下面的Mach-O Type设为Static Library,framework可以是动态库也可以是静态库,对于系统的framework是动态库,而用户制作的framework只能是静态库。


image.png

d、源代码中如果包含分类,继承等是,最好在Build Settings中Other Linker Flags 增加参数-ObjC,同时支持-all_load


image.png

e、提取需要暴露在外的.h文件,如图所示:


image.png

可以直接将project中的文件拖入到public,也可以在那个.h文件上选择,如图所示:


iOS制作Framework的流程_第9张图片
image.png

f、设置SDK得版本号和最低支持的版本,如图所示:


iOS制作Framework的流程_第10张图片
image.png

g、设置SDK的打包版本为release版本


iOS制作Framework的流程_第11张图片
image.png

iOS制作Framework的流程_第12张图片
image.png
  1. 分别在模拟器和真机中运行程序,然后在本地找到打包完的程序,两者有分为真机版本和模拟器版本framework(iphoneos后缀代表真机版本,iphonesimulator后缀代表模拟器),如下图:


    iOS制作Framework的流程_第13张图片
    image.png

    iOS制作Framework的流程_第14张图片
    image.png
  2. 打开终端,进行真机版本和模拟器版本framework合并

lipo -create 模拟器包地址 真机包地址 -output 真机包地址

如下图所示:


iOS制作Framework的流程_第15张图片
image.png

使用命令行 lipo -info 查看framework架构信息

lipo -info 合并后的真机包地址
iOS制作Framework的流程_第16张图片
image.png

此时framework已经制作完成,可以导入项目使用了哦!

你可能感兴趣的:(iOS制作Framework的流程)