需要一个私有仓库和私有仓库索引
私有仓库用于存放所有组件
私有仓库索引用于查找存放的所有组件
如图:
创建成功之后我们就能使用pod的方法下载我们所需的组件了
创建远程私有库
1.在本地创建一个空文件,然后在该空文件中创建一个私有库
在终端cd到该空文件,然后执行命令
pod lib create LSHud
其中的LSHud是私有库的名字,然后对终端上出现的一些问题进行回答。
成功后会生成一个工程文件
然后在远程创建一个仓库,并把文件中的所有内容push到远程仓库。
注意:1.podspec文件中的地址要和远程仓库保持一致
2.podspec文件中的s.version的版本号也和我们打的tag版本一致(每次组件更改后需要打新的tag,并推送到远程仓库)
创建远程私有索引库
首先在远程创建一个名为LSTestSpec的仓库
在电脑根目录下的.cocoapods下找到私有索引库,并创建一个新的私有索引库,如我这里创建了一个空的LSTestSpec文件
添加索引库:
pod repo add LSTestSpec https://gitee.com/liangsenliangsen/lstest-spec.git
执行pod repo就能看到我们所有的索引库,以及刚新增的LSTestSpec这个索引库。
将本地索引库上传到远程索引库
在LSTestSpec文件中我们创建一个README.md文件(避免没有内容上传不上去),并将LSTestSpec文件中所有内容push到名为LSTestSpec的远程仓库。
将私有库上传到私有索引库
cd到本地库文件夹下,像我这里是lshud这个文件下。
执行命令
pod repo push LSTestSpec LSHud.podspec
如果有警告我们可以使用--allow-warnings忽略警告
pod repo push LSTestSpec LSHud.podspec --allow-warnings
如果成功我们就会看到本地索引库中以及远程发生变化
私有仓库更新流程?
1.在最开始创建的工程文件下的Example工程中修改组件代码,并进行本地测试
2.然后在.podspec文件中更新s.version
3.为工程打tag,和s.version保持一致,并push到远程
4.更新私有索引库,使用命令pod repo push LSTestSpec LSHud.podspec --allow-warnings
使用公司组件流程
1.将远程索引clone到本地的索引库中(如:git clone https://github.com/CocoaPods/Specs.git master
)
2.在工程的Podfile文件中指定索引库远程地址(如:source 'https://github...')
3.pod需要使用的组件
4.pod install
(如果不需要我们更新组件,我们可以直接把项目工程clone下来,而需要clone索引库,也不需要进行pod install的操作)
更新公司的某些组件
1.将公司某个组件的工程clone到本地
2.按照私有仓库更新流程进行操作