iOS SDK 开发 -- 入微一星
前言
在SDK的水里面折腾一段时间,写下这系列文章,权当记录下自己的学习过程,这个系列打算分三个专题:入微、登堂和大成,内容不定期更新。
最简单的 Demo
先上图,一共创建三个工程:Lib 工程(sdkSample-lib)、Framework 工程(sdkSample-framework)和 SDK 的 Deme工程(sdkSampleDemo),如下图所示:

首先创建 Lib 工程, File -> New -> Project -> Static Libranry:

如上图,所以内容都写在 Lib 目录下,Public 放对外API的头文件,其它的文件可以根据实际做调整。
创建 Framework 工程,File -> New -> Project -> Framework:

API目录下的头文件的文件名和 Lib 工程下面的Public保持一致,为什么要保持一致,下面将会详细讲解。
创建 SDK Demo
创建一个Single View Application, 然后将 Lib 和 Framework 工程都拖进该工程中:

大功告成,把基础的架构搭起来了,下面开发我们 SDK 的开发。
首先在 Lib 工程里面实现几个方法,并提供接口:

上图中在 Framework 的 API 里面提供的sdkSample接口名要和 Lib 中的保持一致,sdkSample的实现文件的内容在这就不详细写,根据实际需要提供接口和实现就可以了。
关联 Lib 和 Framework
目前,Lib 和 Framework 都是相互没有关系的,为能让 Framework 访问 Lib 的内容,需要在 Framework 工程中导入 Lib 的包:

然后再在 SDK Demo 中导入 该 framework(sdkSample.framework),然后在 dmeo 里面调用 Framework 的方法:

我们愉快的 command + r, 结果 |_|

我靠,这是什么梗,然后各种 baidu 和 google (ps:现在已经很厌恶 baidu 了,各种广告和重复,很无耻地说,当初还在狼厂装逼的时候,发现并没几个 RD 用 baidu的~~~),百度出来的东西都基本是重复的,要不就是说文件没有导入,另外一个就是更改 valid architectures,然而并没有什么用,在这里告诉你们,是将 Framework 工程的 Mach-O Type 设为Static Library的就可以了,别问我为什么知道,是(坑)经(多)验(了):

这次终于能愉快地 common + r 了~~~~
本要打算一口气把 Lib 打包和 Framework 打包写完,看首图,shell 脚本已经饥渴难耐了,但由于要回去煮饭~~~ 没错,就是煮饭,我是一个撸得了代码,入得了厨房的好男(穷)人(逼) @ _ @ 所以这两天内,再把 SDK 打包写完,欢迎关注,后面带你们一起用脚本来装逼。。。