Create Private Pods
CocoaPods不仅仅是一个添加开源代码到你的项目的伟大工具,而且也可以在项目之间分享组件。你可以用一个private Spec Repo来实现。
为工程配置一个私有仓库有些许步骤;
- 为这些工程创建一个私有仓库
- 让CocoaPods知道在哪可以发现它,并增加podspecs到这个私有仓库
1.创建一个Private Spec Repo
Spec Repo其实就是一个容器,是所有的Pods的本地git仓库,它是包含所有的Pods的一个索引。这些仓库的remote在你自己的git服务器上例如github。当你本地安装了Cocoapods后,它会被clone到本地的~/.cocoapods/repos目录下,我们可以看见master的一个目录。这个文件夹是官方的Spec Repo。因此,我们需要建立一个类似于master的Spec Repo,我们可以fork官方的Repo,也可以自己创建,我们不需要把现有的公开Pods都copy一份,所以我们还是自己创建一个吧。

创建完成,然后我们在Terminal中执行命令
pod repo add [Private Repo Name] [Github HTTPS clone URL]
这里我们的[Private Repo Name]是我们的repo仓库的名字,成功执行完命令后会在本地~/.cocoapods/repos目录下。
这里我们演示执行的命令如下
pod repo add HCBSpecs https://github.com/DukeHuang/HCBSpecs.git
这样我们的就完成了第一步
2.创建我们Private Pods所需要的项目工程文件,并且有可访问的项目版本控制地址。
这里可以是git,也可以是svn。并且要打上tag
3.创建Private Pods所对应的podspec文件
这里的2、3步可以通过cocoapods提供的命令行工具进行创建
$ pod lib create HCBNetwork
回车后他会让你选择几个问题,
- 输入作者的email
- 选择使用的语言 [Swift / ObjC]
- 是否需要一个Demo Project [Yes / No]
- 选择一个Test framework [Specta / Kiwi / None]
接下来及时向Pod文件夹中添加库文件和资源文件,并配置podspec文件。
这里我们创建两个文件放在作为测试
放在HCBNetwork/HCBNetwork/Classes文件夹下面

Note: 通过pod lib create命令创建的工程本身就是在git的版本管理下,我们需要做的是把它添加到remote仓库,同样,我们去github创建一个仓库,然后通过命令行的方式把代码push上去
cd 到 HCBNetwork的目录下执行下面的命令
git add .
git commit -s - m "first init"
git remote add origin https://github.com/DukeHuang/HCBNetwork.git
git push origin master
我这里出现了冲突,是因为我两边都生成了README.md 和 LICENSE文件
git push -u origin master -f
强制覆盖远端的即可
接下来我们编辑podspec文件
podspec文件解释

我们创建的podspec文件

我们修改其中的 s.homepage s.source
为我们刚刚创建的 https://github.com/DukeHuang/HCBNetwork.git
cd 到 HCBNetwork的目录下执行下面的命令
pod lib lint
发现报错
- WARN | summary: The summary is not meaningful.
修改podspec中的s.summary即可
验证无误后我们就可以进入下一步
4.向Spec Repo提交podspec
向Spec Repo提交podspec必须保证上一步的验证通过,
同时我们需要给我们的HCBNetwork打上tag
git tag "0.1.0"
git push --tags
然后执行下面的命令
pod repo push HCBSpecs HCBNetwork.podspec
屏幕快照 2016-05-16 上午10.07.20.png
这样我们就完成了所有的创建工作,可以在其他工程中使用我们自己的库了
这里需要指出的是Podfile中的source 必须指明我们我的HCBSpecs仓库哦