认识公有库和私有库
- 公有库:开源自己封装的库供别人使用,且往cocoaPods的官方Repo仓库(即CocoaPods Master Repo)中新增自己库的索引,该库索引是以
*.podspec.json
文件形式存在。 - 私有库:私有库不在cocoaPods的官方Repo仓库中,而是在自建的spec repo中,库索引是以
*.podspec
文件形式存在,自建的spec repo放在路径~/.cocoapods/repos下,与master同级,其链接的远程仓库可以是公开的,也可以是私有的。
私有库链接私有仓库的例子:公司项目放在公司内网搭建的git服务器中,有些功能在多个项目中都会用到,这就需要抽成库。为了便于维护和升级,使用cocoaPods来管理。由于置于内网git服务器中,这些库只有在公司内网才能安装。
私有库链接公开仓库的例子:阿里巴巴有一个叫阿里百川的开放平台,提供了淘宝联盟SDK,将SDK制作成了私有库,整合在自建的阿里云Repo仓库中,这样既能提供给其他开发者使用,又能避免混乱地发布在cocoaPods的官方Repo仓库中。
- Spec Repo表示Repo仓库,是集合所有公开库的.podspec.json文件(索引文件)的git仓库。
当使用Cocoapods时它会被clone到本地的~/.cocoapods/repos目录下,进入目录后可以看到master文件夹,它就是官方的Spec Repo本地仓库。
因此创建CocoaPods私有库就需要有类似master的私有Spec Repo,让它关联远程git仓库。
搭建私有库和公有库
- 私有库和公有库前面搭建步骤是相同的,只在发布时操作不同。
相同步骤
- 1.github上新建空白项目pod_test。仓库网址为https://github.com/xxx/pod_test,该仓库链接我们的自定义库pod_test。
- 2.创建Pods工程。
命令pod lib create pod_test,依次回答终端问题。
设置完成后终端会输出
成功后会创建出一个pod_test工程,目录结构如下: