1、创建App(WZMTestApp),如图:
2、创建framework(WZMTestFramework),如图:
3、创建.xcworkspace文件,名字与App相同,如图:
4、将framework项目和.xcworkspace文件放入WZMTestApp文件夹内,如图:
5、双击打开WZMTestApp.xcworkspace文件,将两个工程文件(. xcodeproj)拖入,如图:
6、配置framework,如图:
7、创建类(WZMTestClass),并实现一些函数,如图:
8、公布需要对外暴露的头文件,将WZMTestClass.h拖入Public内,如图:
9、编译生成framework,如图即为支持真机的framework,选中模拟器即生成支持模拟器的framework
到此,framework的生成全部完成,若需对framework进行动态调试,还需在工程中关联framework。
10、工程配置,与framework配置相同,如图:
11、关联framework,如图:
12、调用framework函数进行测试,如图:
到此,framework的关联全部完成,运行WZMTestApp项目,即可对framework进行断点调试。
13、如下图中的framework即为生成的framework,可以导入到其他项目中直接使用:
14、有同学问到了如何在.framework中加载图片等资源,需要把资源文件放入进.bundle文件夹内,在.framework中使用图片时不能用[UIImage imageNamed:"test.png"]
这种形式,而是如下代码:
NSString *emoticon = [[NSBundle mainBundle] pathForResource:@"Test" ofType:@"bundle"];
NSString *path = [emoticon stringByAppendingPathComponent:@"test.png"];
UIImage *image = [UIImage imageWithContentsOfFile:path];
使用时,把.framework和.bundle同时拖入其他项目中即可
附上demo下载地址:点击下载demo