手把手教你制作framework

1.首先,什么是库?


手把手教你制作framework

2.开始制作

A.在Xcode 中创建一个framework工程


手把手教你制作framework

B.接下来更改一些配置


手把手教你制作framework
手把手教你制作framework
手把手教你制作framework

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

b、然后将Link With Standard Libraries关闭,我想可能是为了避免重复链接

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

d、如果只编译此机型,就设置成YES,如果要适配所有的架构,则将Architecture 设置为No

e、设置framework适配的最低系统

C.接下来将需要封装的代码文件拖入项目,如果需要依赖其他的第三方,正常的使用cocoapods导入第三方库就可,但是这里需要注意一点:有大佬说需要封装的.h文件中不能使用#import <***>,但可以在.m文件中使用,具体原因目前尚不清楚,本人也没有亲测过,当时封装的时候是有意避过了这个问题,所以这个问题具体存不存在目前还不能确定。

D.设置需要对外公开的头文件


手把手教你制作framework

E、将需要封装的文件设置对应的公开级别


手把手教你制作framework

直接从左边拖到右边对应的地方即可。

注意:这里有个坑,巨大的坑,我看其他的博客都没有说过的问题,左边框里的所有文件,必须都拖进右边的框里,一般把.m文件拖入probject框里,本人最开始就是因为.m文件没有拖进去,导致一直报错

F、手动打包


手把手教你制作framework

选中模拟器,command+B,然后选中真机,command+B

G、合成framework


手把手教你制作framework

选中Products中的.framework文件,右键打开菜单,点击show in finder打开framework所在的文件夹


手把手教你制作framework

可以看到有两个Debug开头的文件夹(这是因为目前是在debug模式下生成的framework),现在的framework文件只能单一的在模拟器上使用或者只能在真机上使用,我们需要把他们合成一个既可以在模拟器上使用也可以在真机上使用的framework,打开终端,在终端中输入命令:lipo -create 模拟机和真机的FrameWorkSDK文件路径(直接拉到终端就会显示)-output 一个输出路径(后面需加上/和新生成的文件名,还是用原来的名字)


手把手教你制作framework

然后用生成的文件分别替换模拟器和真机下的对应文件,至此debug下的framework就创建成功了,release模式的是一样的。

你可能感兴趣的:(手把手教你制作framework)