概述
通过Cocoapods创建私有库是实现项目组建化的重要手段之一,下面这边文章,来了解如何通过Cocoapods实操来一步步创建私有库
创建私有库
pod lib create
- 新建一个目录,在该目录执行
pod lib create QHFirstComponents,其中QHFirstComponents是我们要生成的组件名字,回车,会出现下面的选项
- 根据自己的的要求选择即可
- 操作完成之后会自动生成下面的项目
安装cocoapods项目
进入刚才生成的QHFirstComponents->Example目录,执行
pod install --no-repo-update命令
添加代码
进入QHFirstComponents->QHFirstComponents->Classes,删除ReplaceMe.m,添加如下文件:
新建git仓库
在gitee上新建仓库
配置.podspec文件
打开QHFirstComponents->QHFirstComponents.podspec文件
s.name:组件名称s.version:组件版本s.summary:组件介绍,需要修改,不让会报错s.homepage:可以填随便填一个地址s.source:填写上面创建的参考地址
pod验证
- 再次进入
Example目录执行pod update --no-repo-update,运行项目成功 - 回到
QHFirstComponents目录,执行pod lib lint进行验证,如下图,出现验证成功即可
私有库发布
在QHFirstComponents目录执行如下命令
git remote add origin仓库地址git add .git commit -a -m "first commit"git pull origin master --allow-unrelated-histories
# --allow-unrelated-histories
# git pull origin maste会失败 ,提示:fatal: refusing to merge unrelated histories
# 原因是远程仓库origin上的分支master和本地分支master被Git认为是不同的仓库,所以不能直接合并,需要添加 --allow-unrelated-histories
但是执行这个命令,依然会报错,原因是在readme和LICENSE文件有冲突
解决冲突,继续执行
git add .git commit -a -m "my commit"git push origin mastergit tag 0.1.0git push origin 0.1.0
到这里就完成了git的提交
检验远端.podspec文件格式
在QHFirstComponents目录执行:pod spec lint,如下图验证成功
发布
- 创建本地
Sepc管理库,在QHFirstComponents目录执行pod repo add QHFirstComponents 仓库地址命令。 - 创建成功后会在
~/.cocoapods/repos生成本地的QHFirstComponents管理库
- 执行
pod repo push QHFirstComponents QHFirstComponents.podspec发布,如下图,发布成功
# QHFirstComponents是刚才上面添加的管理库名字
# QHFirstComponents.podspec是QHFirstComponents项目里面后缀为podspec的文件名
在新项目使用私有库
新建项目在podfile添加如下命令:
pod install,在新项目引用QHTest
打印配置成功
到此,完整的操作流程就结束了。