准备工作
1. 创立好一个GitHub库房作。
2.前面建好的GitHub库房增加为索引库房。
pod repo add [spec name] [GitHub库房地址]
# 假定称号为PersonalSpec
pod repo add PersonalSpec https://github/username/PersonalSpec
题外话:GitHub登录方法改了
本来的password改为personal access token
登录GitHub界面之后,按途径settings -> developer settings -> New personal access token
去创立personal access token
该token值只显示一次,需求复制后收藏好
正式开始
1.在GitHub上创立好代码库房备用。
除了【准备工作】期间所建以外的库房,作为放咱们代码的库。
尽量不要增加readme、ignore之类的,保持库房是空空的。此时的远端库房是没有branch的。
假如是空库房,进行到第5步的时分直接能够用上面截图红圈部分指令即可完结推送。
温馨提示:接下来文章中要分清这两个库房。还有记得把假定的称号用自己的库名替换。
2. 下载Cocopods发布库的模板
pod lib create [自己库名]
# 假定为CodeRepo
pod lib create CodeRepo
依照你所取的称号下载模板。下载模板途中会弹出几个选项,依据自己需求挑选即可。
3.开发的类库放到指定文件夹下、装备好podspec文件
此处假定咱们需求发布第三方库的代码工程都开发完结了。
接下来,要检查好咱们开发代码文件和资源文件等是否在指定目录下,默许状况在Classes文件夹下。
哪些文件需求作为第三方库提交cocoapods能够在podspec文件内设置
s.source_files = 'CodeRepo/Classes/**/*'
podspec文件装备:
podspec文件的内容因人而异。网上很多能搜到。
还能够去官网语法文档检查。
两次验证之间进行git库房的操作的阐明
因为第一次验证pod lib lint 是本地验证,假如本地验证之前现已提交私有库代码到远端库房,假如验证不经过又要从头修改再提交,故而个人主张先本地验证经过进行git库房操作。
4. podspec本地验证
pod lib lint
假如私有库依靠Cocospods以外的spec要在后边增加–sources参数,值的写法是多个地址url之间用逗号分隔,cocoapods的spec地址也要写上,格式如下:
pod lib lint --sources='私有索引库地址,https://github.com/CocoaPods/Specs.git'
# 拿咱们PersonalSpec举例
pod lib lint --sources='https://github/username/PersonalSpec.git,https://github.com/CocoaPods/Specs.git'
验证成功后:
CodeRepo passed validation.
5.推送到远端库房和打tag
提交远端库房
git remote add origin [私有库房地址] # CodeRepo举例:git remote add origin CodeRepo
git add .
git commit -m "日志"
# git branch 能够检查本地分支称号,
# git branch -a 能够检查本地和远端分支称号
git push -u origin main # main仍是master依据分支决议
打tag。tag值要与podspec文件内version值共同
git tag
git tag '0.1.0'
git tag
git push origin 0.1.0 # 或推送悉数tag: git push --tags
# 或许用到的指令
删去本地tag:git tag -d 0.1.0
删去远端tag:git push origin :refs/tags/0.1.0
6.podspec远端验证
pod spec lint
假如私有库依靠Cocospods以外的spec要在后边增加–sources参数,值的写法是多个地址url之间用逗号分隔,cocoapods的spec地址也要写上,格式如下:
pod spec lint --sources='私有索引库地址,https://github.com/CocoaPods/Specs.git'
验证成功后:
CodeRepo.podspec passed validation.
7.podspec文件推送到私有库房
pod repo push [私有索引库房名] xxx.podspec
# PersonalSpec举例
pod repo push PersonalSpec CodeRepo.podspec
# 或许用到的指令
pod repo list # 检查本地索引库有哪些
网上有人说有私有库的状况下podspec文件推送时分也需求加上–sources参数。但是我没加也推送成功了。
加–sources的用法跟前面验证的相同,格式如下:
pod repo push [私有索引库房名] xxx.podspec --sources='私有索引库地址,https://github.com/CocoaPods/Specs.git'
# 依照常规
pod repo push PersonalSpec CodeRepo.podspec --sources='https://github/username/PersonalSpec.git,https://github.com/CocoaPods/Specs.git'
到此一切发布流程就结束了。希望我们发布私有库过程都一把过!
最终,有疑问提出、有错误帮助指出、有可优化的或更好的写法麻烦奉告。拜拜!!!