前言
随着公司项目变多,很多公共组件需要进行模块化管理,但是公司的代码又不能放在 Github 上,从而诞生了 私有库 这种只面向部分人的第三方开源库,本章将详细讲解基于 CocoaPods 对于模块化和私有库的管理。
概要
私有库 的制作大致分为以下几个步骤:
- 创建并设置一个私有的 Spec Repo
- 创建 Pod 的所需要的项目工程文件,并且有可访问的项目版本控制地址
- 创建 Pod 所对应的 podspec 文件
- 本地测试配置好 podspec 文件是否可用
- 向私有的 Spec Repo 提交 podspec 文件
- 在项目中的 Podfile 中增加制作好的 Pod 并使用
- 更新维护 podspec
- 如果了解 公有库 的制作步骤,可以发现 私有库 的制作步骤多了一个创建私有的 Spec Repo 的过程,而且提交的过程也变成向私有 Spec Repo 提交了。
在制作私有库之前,推荐不了解的 公有库制作步骤 的同学先去了解一下
创建私有Spec Repo
Spec Repo 是一个装着所有 Pods 的索引容器,所有公开的 Pods 的索引都在这个里面,它是一个托管在 Github 的远程仓库。在本地使用 CocoaPods 后它会被 clone
到本地的 ~/.cocoapods/repos 目录下,进入该目录可以看到如下结构:
1 | . |
Specs 文件夹中就是所有向 CocoaPods 注册过的第三方库的索引。因此,我们建立私有库的第一步就是建立一个私有的 Spec Repo,在公司的 Git 上创建一个私有的仓库 Spec Repo,然后在本地增加 CocoaPods 的私有 Spec Repo 仓库
1 | # private 是本地私有仓库的名字 |
此时到 ~/.cocoapods/repos 目录,可以看到多了个 private 的文件夹:
1 | . |
此时创建私有 Spec Repo 的步骤就完成了
创建私有Pod工程文件
创建与测试的过程在这里不再详解,需要注意的是:
Pod 项目工程文件所添加的远程仓库应该也在公司的 Git 上,而且拥有地址的访问权限,Podsepc 文件中的地址最好是仓库的 SSH 地址。
Spec Repo提交podspec
与创建 公有库 不同的是,此时提交应该向私有 Spec Repo 提交
1 | # private 是本地私有仓库的名字 |
此时在之前建立的远程 Spec Repo 仓库里能看到我们提交的 podspec 文件了
最后更新一下本地的私有 Spec Repo
1 | # private 是本地私有仓库的名字 |
然后输入搜索命令
1 | pod search PodDemo |
就可以搜索到刚刚提交的库了
1 | -> PodDemo (1.0.0) |
此时,我们的私有库就制作完毕了。
在Podfile中加入私有Spec Repo地址
1 | platform :ios, '8.0' #当前工程最低支持iOS 8.0 |
然后执行命令就可以使用私有库了
1 | pod install |
注意
如果有其他合作人员共同使用这个私有库 的话,需要给予对应远程 私有库 仓库和 Spec Repo 仓库的权限,最好使用 SSH 认证连接 ,然后再执行上面的命令添加这个 Spec Repo 到本地即可。