如果你需要删除某个库,可以使用以下命令:
pod trunk delete podname VERSION
如果需要删除本地和远程的 tag,可以按照以下步骤操作:
• 删除本地 tag
git tag -d 0.0.2
• 删除远程 tag
git push origin :refs/tags/0.0.2
• 删除本地分支
git branch -d v0.1.1
• 删除远程分支
git push origin --delete v0.1.1
1. 注册 CocoaPods 用户名和邮箱
在你发布 Pod 到 CocoaPods 的仓库之前,首先需要绑定你的用户名和邮箱。
• 查看本地是否已绑定
pod trunk me
• 绑定邮箱
pod trunk register xxxxxxxxx@qq.com '桃色三岁' --description='常用文件库,专注于为 iOS 开发提供高质量、易用的组件与工具库,帮助开发者提升开发效率。库内包括常用的UI控件、网络请求封装、数据存储等基础功能,致力于减少重复工作,让开发更轻松。'
注意:执行完该命令后,绑定的邮箱会收到一封邮件里面包含一个验证的连接,打开该链接进行验证!
• 验证绑定是否成功
pod trunk me
2. 本地创建pod库
创建一个新的 Pod 库并上传到 CocoaPods 的仓库,可以按照以下步骤进行:
• 创建一个空文件夹,用于存放我们的pod库,然后打开它
cd /Users/taosesansui/workspace/Cocoapods
执行以下命令后,系统会依次提示你一些问题,你可以选择合适的选项(如选择语言、是否需要示例项目等)。
pod lib create ZHHAnneKit
• 执行完上述命令后,会依次问如下问题
• 完成后会自动打开项目
3. 配置 Podspec 文件
创建完成后,打开项目并配置 ZHHAnneKit.podspec 文件,确保 Podspec 文件内容填写正确。示例如下:
Pod::Spec.new do |s|
# 名称 使用的时候pod search [name]
s.name = 'ZHHAnneKit'
# 代码库的版本
s.version = '0.0.1'
# 简介(这个描述要自己写一个不要使用默认的,不然会给一个警告的)
s.summary = '这是一个测试pod'
# 描述
s.description = <<-DESC
这个地方也是一个描述,要比summary这个地方的描述多一些
DESC
# 主页
s.homepage = 'https://github.com/5yueliang/ZHHAnneKit'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
# 许可证书类型,要和仓库的LICENSE 的类型一致
s.license = { :type => 'MIT', :file => 'LICENSE' }
# 作者名称 和 邮箱
s.author = { '桃色三岁' => 'xxxxxxxxx@qq.com' }
# 代码的Clone 地址 和 tag 版本
s.source = { :git => 'https://github.com/yue5yueliang/ZHHAnneKit.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
# 代码库最低支持的版本
s.ios.deployment_target = '13.0'
# 如果使用pod 需要导入哪些资源
s.source_files = 'ZHHAnneKit/Classes/**/*'
# s.resource_bundles = {
# 'ZHHAnneKit' => ['ZHHAnneKit/Assets/*.png']
# }
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
4. 本地检查 Podspec 文件
• 检查 .podspec 文件的格式和代码库,确保没有错误,可以使用以下命令:
pod lib lint ZHHAnneKit.podspec
• 如果输出 ZHHAnneKit passed validation.,则说明通过了本地检查。
5. 添加库文件
• 删除自动生成的 ReplaceMe.m 文件,并将自己封装的文件放到 Classes 文件夹内。然后切换到示例项目的目录,执行 pod install 安装依赖:
• 切换到Example下进行pod install (把刚才拖入到class里的文件夹pod进来)
pod install
• 将本地代码提交到 Git 仓库:
git add .
git commit -m "提交内容描述"
git push
6. 发布项目到 CocoaPods
· 创建一个带注释的标签 0.1.2,并附上消息 "Release version 0.1.2"
git tag -a 0.1.2 -m "Release version 0.1.2"
· 查看本地的tag
git tag
· 将本地的添加的tag同步到远程代码仓库
git push --tag
· 创建一个分支(branch)
git branch 0.1.2
或者
git push origin refs/tags/0.1.2
· 查看本地分支列表
git branch
将本地分支 0.1.2 推送到远程仓库
git push origin 0.1.2
或者
git push origin refs/heads/0.1.2
7. 本地检查 Podspec 文件
• 打开podspec所在文件目录
cd xxx.podspec所在文件目录
• 检查 .podspec 文件的格式和代码库,确保没有错误,可以使用以下命令:
pod spec lint ZHHAnneKit.podspec
• 如果你希望控制台输出详细信息,可以添加 --verbose 参数:
pod spec lint ZHHAnneKit.podspec --verbose
• 如果你使用了静态库并希望进行相应检查,可以加上 --use-libraries 参数:
pod spec lint ZHHAnneKit.podspec --use-libraries
• 如果你希望允许警告并继续验证,可以使用 --allow-warnings 参数:
pod spec lint ZHHAnneKit.podspec --allow-warnings
8. 验证库编译
• 除了 .podspec 文件格式验证外,还可以检查库是否能够正确编译,使用以下命令:
pod lib lint --allow-warnings
• 成功验证
如果所有检查通过并且控制台显示 xxx.podspec passed validation.,则说明验证成功,可以继续推送到远程仓库。
9. 推送到podspec文件的Specs仓库
• 最后,使用以下命令将 Podspec 文件推送到 CocoaPods 的 Specs 仓库:
pod trunk push ZHHAnneKit.podspec
或者:
pod repo push ZHHAnneKit.podspec --allow-warnings
10. 如果看到类似如下日志输出,说明发布成功:
Updating spec repo `trunk`
Validating podspec
Updating spec repo `trunk`
--------------------------------------------------------------------------------
🎉 Congrats
🚀 xxx (1.0.0) successfully published
📅 March 08 st, 18:27
🌎 https://cocoapods.org/pods/xxx
👍 Tell your friends!
• 如果你的 Pod 库依赖其他第三方库(例如 AFNetworking),可以在 Podspec 文件中指定依赖:
s.dependency 'AFNetworking', '~> 4.0'
这样,整个流程就完成了。这个过程包括了从创建本地 Pod 库到验证、发布到 CocoaPods 的完整操作,希望对你有帮助!