本文档记录从注册账号、创建 Pod 库到发布的完整流程,包括 Git 操作、Tag 管理和 CocoaPods 发布。
一、注册 CocoaPods 账号(首次准备)
在创建和发布 Pod 库之前,首先需要注册 CocoaPods Trunk 账号。
1. 查看本地是否已注册
pod trunk me
如果已注册,会显示你的账号信息;如果未注册,会提示错误。
2. 注册账号
基础注册(替换为你的邮箱和名字):
pod trunk register 136769890@qq.com '桃色三岁' --description='MacBook Pro'
完整描述示例:
pod trunk register 136769890@qq.com '桃色三岁' \
--description='常用文件库,专注于为 iOS 开发提供高质量、易用的组件与工具库,帮助开发者提升开发效率。库内包括常用的UI控件、网络请求封装、数据存储等基础功能,致力于减少重复工作,让开发更轻松。'
注意:
- 执行完该命令后,绑定的邮箱会收到一封验证邮件
- 邮件里面包含一个验证链接,必须点击该链接完成验证
- 验证链接有效期通常为 24 小时
3. 验证注册是否成功
点击邮件中的验证链接后,再次执行以下命令确认:
pod trunk me
如果显示类似以下信息,说明注册成功:
- Name: 桃色三岁
- Email: 136769890@qq.com
- Since: March 8th, 2020
- Pods:
- ZHHAnneKit
- Sessions:
- March 8th, 2020 - May 14th, 2020. IP: xxx.xxx.xxx.xxx
Description: MacBook
二、创建新的 Pod 库(首次创建)
1. 使用模板创建 Pod 库
进入工作目录:
cd /Users/meihui/Documents/workspace/CocoaPod
创建 Pod 库(会自动生成项目结构):
pod lib create ZHHAnneKit
执行后会依次提示以下问题,根据你的需求选择:

创建 Pod 库提示问题
主要选项说明:
- 平台(Platform):选择 iOS 或 macOS
- 语言(Language):选择 Objective-C 或 Swift
- 示例项目(Demo):建议选择 Yes,方便开发调试
- 测试框架(Test Framework):根据需要选择
- 视图测试(View Testing):根据需要选择
2. 配置 Podspec 文件
创建完成后,编辑 ZHHAnneKit.podspec 文件:
Pod::Spec.new do |s|
s.name = 'ZHHAnneKit'
s.version = '0.0.1'
s.summary = '简短描述(必填,不能与 description 相同)'
s.description = <<-DESC
详细描述,需要比 summary 更详细
DESC
s.homepage = 'https://github.com/username/ZHHAnneKit'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'Your Name' => '136769890@qq.com' }
s.source = { :git => 'https://github.com/username/ZHHAnneKit.git', :tag => s.version.to_s }
s.ios.deployment_target = '13.0'
s.requires_arc = true
s.source_files = 'ZHHAnneKit/Classes/**/*.{h,m}'
s.public_header_files = 'ZHHAnneKit/Classes/**/*.h'
s.frameworks = 'UIKit', 'Foundation'
# 如果有依赖其他库
# s.dependency 'AFNetworking', '~> 4.0'
# ========== 分模块配置示例(subspec)==========
# 如果需要将库按功能模块划分,可以使用 subspec
# 使用时通过 pod 'ZHHAnneKit/UIKit' 来单独引入某个模块
# s.subspec 'UIKit' do |ui|
# ui.source_files = 'ZHHAnneKit/Classes/UIKit/**/*.{h,m}'
# ui.public_header_files = 'ZHHAnneKit/Classes/UIKit/**/*.h'
# ui.frameworks = 'UIKit'
# end
# s.subspec 'Foundation' do |fd|
# fd.source_files = 'ZHHAnneKit/Classes/Foundation/**/*.{h,m}'
# fd.public_header_files = 'ZHHAnneKit/Classes/Foundation/**/*.h'
# fd.frameworks = 'Foundation'
# end
# s.subspec 'Network' do |net|
# net.source_files = 'ZHHAnneKit/Classes/Network/**/*.{h,m}'
# net.dependency 'AFNetworking', '~> 4.0' # 模块单独的依赖
# end
# 注意:使用 subspec 后,需要注释掉上面的 s.source_files
# 或者设置默认包含所有子模块:
# s.default_subspecs = 'UIKit', 'Foundation', 'Network'
end
3. 添加库文件
删除自动生成的占位文件:
rm ZHHAnneKit/Classes/ReplaceMe.m
将你的源代码文件添加到 ZHHAnneKit/Classes/ 目录中。
进入示例项目目录:
cd /Users/meihui/Documents/workspace/CocoaPod/ZHHAnneKit/Example
安装依赖,将你的库文件引入示例项目:
pod install
4. 创建 Git 仓库并推送
初始化 Git 仓库(如果还没有):
git init
添加远程仓库:
git remote add origin https://github.com/username/ZHHAnneKit.git
添加所有文件并提交:
git add -A
git commit -m "Initial commit"
推送到远程:
git push -u origin main
三、Git 基础操作
1. 提交代码到仓库
查看当前状态:
git status
添加所有修改的文件:
git add -A
提交修改:
git commit -m "优化: 描述你的修改内容"
推送到远程仓库:
git push origin main
四、Tag 版本管理
1. 创建和推送 Tag
创建 tag(版本号需要与 podspec 中的 version 一致):
git tag 0.0.2
推送单个 tag 到远程:
git push origin 0.0.2
或推送所有 tag:
git push --tags
2. 查看 Tag
查看本地所有 tag:
git tag
查看 tag 列表(包含模式匹配):
git tag -l
3. 删除 Tag
删除本地 tag:
git tag -d 0.0.2
删除远程 tag:
git push origin --delete 0.0.2
五、CocoaPods 验证与发布
1. 验证 Podspec 文件
本地验证(快速检查)
基础验证:
pod lib lint
允许警告:
pod lib lint --allow-warnings
详细输出:
pod lib lint --verbose
使用静态库:
pod lib lint --use-libraries
远程验证(推荐,正式发布前)
基础验证:
pod spec lint ZHHAnneKit.podspec
允许警告(推荐):
pod spec lint ZHHAnneKit.podspec --allow-warnings
详细输出:
pod spec lint ZHHAnneKit.podspec --verbose --allow-warnings
验证成功标志:
ZHHAnneKit.podspec passed validation.
2. 发布到 CocoaPods
推送到 CocoaPods Trunk:
pod trunk push ZHHAnneKit.podspec --allow-warnings
发布成功标志:
--------------------------------------------------------------------------------
🎉 Congrats
🚀 ZHHAnneKit (0.2.2) successfully published
📅 March 8th, 2020 18:27
🌎 https://cocoapods.org/pods/ZHHAnneKit
👍 Tell your friends!
--------------------------------------------------------------------------------
3. 删除已发布的版本(慎用)
删除指定版本:
pod trunk delete ZHHAnneKit 0.2.2
注意:删除操作需谨慎,可能影响已使用该版本的用户。
六、完整发布流程示例
假设要发布 0.2.3 版本:
# 1. 修改 podspec 文件中的版本号为 0.2.3
# 2. 提交代码
git add -A
git commit -m "chore: 发布 0.2.3 版本"
git push origin main
# 3. 创建并推送 tag
git tag 0.2.3
git push origin 0.2.3
# 4. 验证 podspec
pod spec lint ZHHAnneKit.podspec --allow-warnings
# 5. 发布到 CocoaPods
pod trunk push ZHHAnneKit.podspec --allow-warnings
七、常见问题
1. Tag 与 Podspec 版本不一致
确保 ZHHAnneKit.podspec 中的 s.version 与 Git Tag 版本号一致。
2. 验证失败
- 检查源文件路径是否正确
- 检查依赖项是否正确
- 使用
--verbose参数查看详细错误信息 - 使用
--allow-warnings忽略警告
3. 推送失败
- 确认已注册 CocoaPods Trunk 账号
- 确认邮箱已验证
- 检查网络连接