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

接下里就是设置我们有那些头文件是需要公开的,如下图设置:

还要记得把要公开的类添加到我们的FrameWorkTest.h中,比如下面是我们例子中的:
#import
//! Project version number for FrameWorkTest.
FOUNDATION_EXPORT double FrameWorkTestVersionNumber;
//! Project version string for FrameWorkTest.
FOUNDATION_EXPORT const unsigned char FrameWorkTestVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import
// 导入要公开的头文件
#import
最后要做的就是打包制作我们这个FrameWork了:
command+B 按照我们下图的选择,打包出这个FrameWork:

这个时候你就会看到FrameWork项目里的Products文件多了我们的.framework文件。你Show in Finder一下就会看到下面这样的两个文件夹了,一个就是真机一个就是模拟机的:

接下来就是生成我们.framework文件的最后一步了:利用终端把模拟机和真机的文件我们合并成一份:
把上图中我们标注的FrameWorkTest文件进行下面的操作:
在终端中输入命令: lipo -create 模拟机和真机的FrameWorkTest文件路径(直接拉到终端就会显示)-output 一个输出路径
具体的例子我们看下面我们终端中的信息:

注意:随后生成的可以看到是一个.lipo文件,这时候你需要做的就是改了它的名称(包括去掉后缀)然后去随便覆盖你的真机或者模拟机的之前我们合并时候的文件!
然后就是它的使用了
我们的.framework文件就算是制作完成了,那使用我相信大家也都知道,把它拉到我们的项目中,我们看看我们的使用情况,证明我们的是OK的:
顺便这里说一下.boundle文件的制作,新建一个文件,把它后缀名改为.boundle文件,这时候你要是直接打开这个文件的不行的,那就“显示包内容”给里面添加资源文件就可以!










