概述
通过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 master
git tag 0.1.0
git 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
打印配置成功
到此,完整的操作流程就结束了。