+我们在使用组件化的时候一般可选的方案有两种:一种是远程私有库方案,一种是本地私有库的方案,今天我们来打造本地私有库,远程私有库我们会在之后给大家讲到。
首先我们先来看一下我们的宿主工程此时我们并没有将其中的内容以组件的形式分离出去,我们先在宿主工程里面简单地划分一下我们的工程结构。
可以看到我们在这里将我们的主菜单的内容划分为我们的业务组件,主要就是使用TabbarController管理的各个控制器对应的我们的主要模块页面,另一块就是我们常用的分类,我们在这里将它划分为我们的基础组件,那么我们在这里使用本地私有库的方式就以我们的分类对应的基础组件为例来掩饰一下。
首先在工程的同级目录下创建一个LocalLib的文件夹,再创建一个以基础组件命名的文件夹,再创建一个Classes文件夹
将宿主工程里的Category整个分离出来,并且将其丢到Classes文件夹中去
接着我们进入道localLib中的TZSoundBase的机组组件库中,并且初始化一个本地代码仓库
将代码提交到本地代码仓库的master分支上,并且创建一个.spec文件
我们需要对描述文件进行编写
这里和我们之前上传框架的描述信息到CocoaPods官方索引库里地描述文件写法上大致差不多,只是有两点我们需要稍微注意下
因为我们是本地私有库,所以我们homepage不需要设置,还有就是我们的远程代码地址也不需要设置,直接给一个空就好了,这样的话我们的描述文件就搞定了
接下来我们再使用终端回到我们的宿主工程中,初始化一个podfile文件
然后我们当然需要编写以下我们的podfile文件
这里只有一点和我们平时使用Cocoapods集成第三方框架有所不同,就是我们的地址,一般我们是不需要写地址的,它会直接根据检索索引文件去查找框架的远程源码的地址,然后下载,而我们这里使用的是本地私有库,所以需要指定本地的代码地址
podfile文件编写好之后,我们现在使用pod install的命令 安装我们的Category
好,这样的话我们看到了,我们的宿主工程中已经将我们的Category
集成进来了,这样我们的本地私有库打造就完毕了。