准备工作

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的。

Cocoapods私有库建立 podspec文件验证
假如是空库房,进行到第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'

到此一切发布流程就结束了。希望我们发布私有库过程都一把过!

最终,有疑问提出、有错误帮助指出、有可优化的或更好的写法麻烦奉告。拜拜!!!