准备工作
1、打开Xcode,新建工程。
不要选择“Application”,选择“Framework & Library”。选择第一个,然后Next。
2,创建一个继承于NSObject的类(随便)然后在.h中声明方法。在.m实现方法 如下
.h声明方法
.m 实现方法
3、更改参数
在TARGETS下选中工程,在Build Settings下更改几个参数。
dead code stripping 改为 NO
link with standard libraries 改为 NO
mach-o type 改为 static library
如下图
4、增加armv7s
在Architectures下增加armv7s,并选中。将Build Active Architecture Only 设置为NO。
选择other
添加armv7s
将Build Active Architecture Only 设置为NO。
7、设置Headers
将你要公开的头文件拖至Public下,要隐藏的放在Private或者Project下,当然,隐藏的头文件就无法再被引用。
然后需要在FC__Framework.h(必须是公开的,否则无法引用)中将你所有要公开的.h引入。(硬敲 不提示)
此时 工程已 配置成功
制作打包Framework
1.选中模拟器,编译程序
2.选中测试机,编译程序
3.在finder中找到framework文件 选中图中所标示的framework,然后右键show in finder。(一定要完成 第一步 和第二步 否则无法生成如下文件)找到下图中所示的Test文件,一个是Debug-iphoneos(真机)下的,一个是Debug-iphonesimulator(模拟器)下的。
4.通过终端命令将两个framework合为一个模拟器和真机都可使用的framework。
打开终端 输入lipo -create然后敲空格 (一定要敲一个空格)然后找到Debug-iphoneos -> FC__Framework.framework ->FC__Framework 拉进终端 然后以同样的方式找到 Debug-iphonesimulator -> FC__Framework.framework ->FC__Framework 拉进终端 然后输入 -output 空格(一定要敲空格)然后再引入一个新的路径(拖拽进一个新的路径),最后敲回车。这样就完成合并了。()
拉路径
红色框的是自己敲的 绿色的是真机下的 蓝色的是模拟器下的 最后出现(Is s directory)算成功
我是在桌面上创建的一个test文件夹 敲回车后 如果控制台最后出现(Is s directory)此时桌面上应该有一个 text.lipo的文件
然后更改这个文件名 改为你的工程名称 然后替换
Debug-iphoneos(真机)下的, 同名文件
Debug-iphonesimulator(模拟器)下的。同名文件
此时 framework 已经制作完成
使用
1,拉出自己制作的framework
2,把这个framework 拉倒你所需要的 工程里面如图 然后引入头文件 然后调用方法 然后运行 然后你将会看到来自控制台的消息