1、预知
- 先上图,一共创建三个工程:Lib 工程(sdkSample-lib)、Framework 工程(sdkSample-framework)和 SDK 的 Deme工程(sdkSampleDemo),如下图所示:
2、操作步骤
-
2.1 创建 Lib 工程
- 首先创建 Lib 工程, File -> New -> Project -> Static Libranry:
- 如上图,所以内容都写在 Lib 目录下,Public 放对外API的头文件,其它的文件可以根据实际做调整。
- 首先创建 Lib 工程, File -> New -> Project -> Static Libranry:
-
2.2 创建 Framework 工程
- 创建 Framework 工程,File -> New -> Project -> Framework:
- API目录下的头文件的文件名和 Lib 工程下面的Public保持一致,为什么要保持一致,下面将会详细讲解。
- 创建 Framework 工程,File -> New -> Project -> Framework:
-
2.3 创建 SDK Demo
- 创建一个Single View Application, 然后将 Lib 和 Framework 工程都拖进该工程中:
- 大功告成,把基础的架构搭起来了,下面开发我们 SDK 的开发。
- 首先在 Lib 工程里面实现几个方法,并提供接口:
- 上图中在 Framework 的 API 里面提供的sdkSample接口名要和 Lib 中的保持一致,sdkSample的实现文件的内容在这就不详细写,根据实际需要提供接口和实现就可以了。
- 创建一个Single View Application, 然后将 Lib 和 Framework 工程都拖进该工程中:
-
2.3 关联 Lib 和 Framework
- 目前,Lib 和 Framework 都是相互没有关系的,为能让 Framework 访问 Lib 的内容,需要在 Framework 工程中导入 Lib 的包:
- 然后再在 SDK Demo 中导入 该 framework(sdkSample.framework),然后在 dmeo 里面调用 Framework 的方法:
- 我们愉快的 command + r, 结果gg
- 将 Framework 工程的 Mach-O Type 设为Static Library的就可以了,别问我为什么知道,是(坑)经(多)验(了):
- 这次终于能愉快地 common + r 了~~~~
- 目前,Lib 和 Framework 都是相互没有关系的,为能让 Framework 访问 Lib 的内容,需要在 Framework 工程中导入 Lib 的包: