iOS封装功能生成静态库.Framework

在实现iOS模块化开发的过程中,可以把固定的业务模块生静态库.

本文将基于Xcode9.2创建一个简单的工程,教大家如何制作一个自己的framework,目的就是简单易学的制作framework。这种方法可以使得你的代码易分享,在多个工程中复用,并且可以隐藏实现细节,控制公开的头文件。

1. 打开Xcode,新建工程。不要选择“Application”,选择“Framework & Library”。选择第一个,然后Next。

MacDown Screenshot

2. 创建相关的功能类

我在这里随便创建了一个 SayHello的类.

3. 实现功能类

我在 SayHello类里写了一个 sayHello 的方法, 并实现了该方法
MacDown Screenshot

4. 更改参数

在TARGETS下选中工程,在Build Settings下更改几个参数。
MacDown Screenshot

5. 增加armv7s

在Architectures下增加armv7s,并选中。将Build Active Architecture Only 设置为NO。
MacDown Screenshot

6. 设置Headers

将你要公开的头文件拖至Public下,要隐藏的放在Private或者Project下,当然,隐藏的头文件就无法再被引用。
MacDown Screenshot
然后需要在TestFramework.h(必须是公开的,否则无法引用)中将你所有要公开的.h引入。
MacDown Screenshot

7. 开始打包 Framework

1> 选中模拟器,编译程序

2> 选中测试机,编译程序

3> 在finder中找到framework文件
MacDown Screenshot
选中图中所标示的framework,然后右键show in finder。
找到下图中所示的Test文件,一个是Debug-iphoneos(真机)下的,一个是Debug-iphonesimulator(模拟器)下的。

4> 通过终端命令将两个framework合为一个模拟器和真机都可使用的framework。
MacDown Screenshot
打开控制台输入 lipo -create iphoneos下TestFramework的路径 simulator下TestFramework的路径 -output 新的路径,这样就完成了模拟器和真机版本的合并,新路径下的TestFramework就是你合并后的文件,将这个文件名字改成和你未合并之前的Test一样的名字,放到framework文件夹下,替换掉原来的TestFramework文件
MacDown Screenshot

5> 将修改后的framework拷贝出来保存,这就是我们最终制作的framework。

posted @ 2018-04-01 17:15  coder0122  阅读(904)  评论(0编辑  收藏  举报