Cocoapods私有库搭建 podspec文件验证

准备工作

1. 创建好一个GitHub仓库作。

2.前面建好的GitHub仓库添加为索引仓库。

shell 复制代码
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发布库的模板

shell 复制代码
pod lib create [自己库名]
# 假设为CodeRepo
pod lib create CodeRepo

按照你所取的名称下载模板。下载模板途中会弹出几个选项,根据自己需求选择即可。

3.开发的类库放到指定文件夹下、配置好podspec文件

此处假设我们需要发布第三方库的代码工程都开发完成了。

接下来,要检查好我们开发代码文件和资源文件等是否在指定目录下,默认情况在Classes文件夹下。

哪些文件需要作为第三方库提交cocoapods可以在podspec文件内设置

shell 复制代码
s.source_files = 'CodeRepo/Classes/**/*'

podspec文件配置:

podspec文件的内容因人而异。网上很多能搜到。

还可以去官网语法文档查看。

两次验证之间进行git仓库的操作的说明

因为第一次验证pod lib lint 是本地验证,如果本地验证之前已经提交私有库代码到远端仓库,如果验证不通过又要重新修改再提交,故而个人建议先本地验证通过进行git仓库操作。

4. podspec本地验证

shell 复制代码
pod lib lint

如果私有库依赖Cocospods以外的spec要在后面添加--sources参数,值的写法是多个地址url之间用逗号分开,cocoapods的spec地址也要写上,格式如下:

shell 复制代码
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'

验证成功后:

shell 复制代码
CodeRepo passed validation.

5.推送到远端仓库和打tag

提交远端仓库

shell 复制代码
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值一致

shell 复制代码
git tag
git tag '0.1.0'
git tag
git push origin 0.1.0 # 或推送全部tag: git push --tags
shell 复制代码
# 可能用到的指令

删除本地tag:git tag -d 0.1.0 
删除远端tag:git push origin :refs/tags/0.1.0

6.podspec远端验证

shell 复制代码
pod spec lint

如果私有库依赖Cocospods以外的spec要在后面添加--sources参数,值的写法是多个地址url之间用逗号分开,cocoapods的spec地址也要写上,格式如下:

shell 复制代码
pod spec lint --sources='私有索引库地址,https://github.com/CocoaPods/Specs.git'

验证成功后:

shell 复制代码
CodeRepo.podspec passed validation.

7.podspec文件推送到私有仓库

shell 复制代码
pod repo push [私有索引仓库名] xxx.podspec
# PersonalSpec举例
pod repo push PersonalSpec CodeRepo.podspec
shell 复制代码
# 可能用到的指令
pod repo list # 查看本地索引库有哪些

网上有人说有私有库的情况下podspec文件推送时候也需要加上--sources参数。但是我没加也推送成功了。

加--sources的用法跟前面验证的一样,格式如下:

shell 复制代码
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'

到此所有发布流程就结束了。希望大家发布私有库过程都一把过!

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

相关推荐
wangruofeng2 小时前
一个 Markdown 文件攒下 37k 星,i-have-adhd 给 AI 输出立了 10 条规矩
github·aigc·ai编程
怕浪猫3 小时前
长会话不崩盘:DeepSeek Harness 的上下文压缩与目标管理策略
面试·github·agent
DogDaoDao4 小时前
SimToolReal 解读:用“物体中心“视角重新定义灵巧工具操作
人工智能·机器人·github·关键点·人形机器人·gpt-4o·simtoolreal
99316668 小时前
一个人用 AI 的困局:它从不反对你,所以我让 5 个 AI 开了场圆桌会议
github·deepseek
其实防守也摸鱼10 小时前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞
u13013010 小时前
GitHub 热榜项目:日榜(2026-09-12)
github
TunerT_TQ11 小时前
Netflix|一个时代的终结:Hystrix静态工程评测,兼谈微服务容错范式的代际迁移
开源·github·资讯
m4Rk_11 小时前
【论文阅读】Agent 记忆机制(68):Memp——把历史轨迹沉淀为可检索、可纠错的程序性记忆
论文阅读·人工智能·学习·开源·github
峰向AI12 小时前
腾讯开源的AI管理的瑞士军刀:让团队经验自动传承
github
Howie_052614 小时前
AI-test-agent(一)刚入门测试也能读懂:一个基于 LangGraph + Playwright 的开源测试工作台
github