一、概述
CocoaPods是iOS,Mac下优秀的第三方包管理工具,类似于java的maven,给我们项目管理带来了极大的方便。个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开源库一样在CocoaPods中管理它们,那么通过私有仓库来管理就很必要。对于CocoaPods还不太熟悉的,建议参考一下唐巧的博客或者直接到CocoaPods的官网看看:https://cocoapods.org/
二、概念
大家很容易把spec repository 和 code repository弄混,我一开始就在这里挂起了好久。
1.code repository是代码仓库,我们把包代码上传到这个仓库。
2.spec repository是配置仓库,所有的配置按照包名、版本号分门别类的存放在这个仓库。这个仓库只用来存放spec文件,不存放代码。
小结:以AFNetWorking为例,如果只创建AFNetWorking的code repository,而不将code repository中的.Podspec文件上传到spec repository的话,你在自己的工程引入AFN的时候压根用不了。
三、步骤
创建私有的CocoaPods仓库之前需要先制作CocoaPods依赖库,所以步骤分两步:
1.制作CocoaPods依赖库,也就是代码库。
2.创建私有 CocoaPods 仓库。
小结:1.制作依赖库也就是在自己的服务器或者github等远端第三方服务器创建一个仓库,用来保存.podspec、LICENSE、README.md以及代码文件和一些资源文件。
2.创建私有 CocoaPods 仓库也就是在自己的服务器或者github等远端第三方服务器创建一个仓库,用来接受并存放.podspec文件,来管理自己的私库。
四、制作 CocoaPods 依赖库
当我们使用了类似于AFNetWorking这样的Pods 依赖库以后, 你一定对创建自己的依赖库很有兴趣吧,现在我们就来尝试一下,以一个简单 caculatorMaker 为例自己创建一个 Pods 依赖库。
1.创建并设置一个私有的code Repository。
因为GitHub的私有仓库是收费的,我还不是GitHub的付费用户,所以我使用了其他Git服务,我使用的是gitlab(我们公司是基于内网的,当然你也可以基于外网),当然还有其他的可供选择开源中国、CODING、Bitbucket以及CSDN Code.
![](https://i-blog.csdnimg.cn/blog_migrate/a340c971676c4e351fd208ea92d4d0fa.webp?x-image-process=image/format,png)
2.clone 仓库到本地
为了方便向仓库中删减内容,需要将仓库 clone 到本地,这里有多种操作方式,可以选择你喜欢的一种,但是为了方便这边选择使用命令行。首先需要切换到你想在本地存储的目录,然后再 clone ,假设你放在用户的根目录上: