CocoaPods 公用Pod库的创建

1. CocoaPods账户创建

注册trunk

pod trunk register 邮箱  '用户名' --verbose
注意:QQ邮箱可能收不到邮件,换了两个QQ邮箱,最终用了163邮箱。

去邮箱中打开邮件,点击链接,即注册成功

pod trunk me
// 查看注册信息,也可以查看自己发布的Pods

2. 创建库文件并上传到GitHub

2.1 创建私有模板库

GitHub创建工程,这里以DDBaseModule为例,创建一个基础库,添加一些常用的宏和分类。

2.2 创建模板库

在你想要放的位置创建一个和组件同名的文件夹,比如DDBaseModule,然后使用下面命令:

cd DDBaseModule的路径
pod lib create DDBaseModule

然后根据情况,配置信息:

2.3 添加组件内容

创建完成后会自动打开Example项目,然后将库文件的相关代码文件拖到Class中替换ReplaceMe.m文件。

2.4 安装与测试本地库

Podfile文件中:

 pod 'DDBaseModule', :path => '../'

模板库已经在Podfile中指定了DDBaseModule.podspec的位置,使组件DDBaseModule可以正常安装使用和测试。

然后,cdExample路径下,执行下面命令:

pod install

此时,我们已经将本地的组件添加到Example中了,接下来可以进行单元测试,确保组件的正常使用。

2.5 修改Specs并验证
  • 修改Specs文件
    在测试确保组件的正常后,需要修改Specs文件,


主要修改内容

  s.name             = 'DDBaseModule'
  s.version          = '0.1.0'
  s.summary          = 'DDBaseModule.'
  s.description      = <<-DESC
DDBaseModule是基础组件库,包括分类和常用工具
                       DESC
  s.homepage         = 'https://github.com/DongliangZhao/DDBaseModule'
  s.source           = { :git => 'https://github.com/DongliangZhao/DDBaseModule.git', :tag => s.version.to_s }
  s.source_files = 'LGMacroAndCategoryModule/Classes/**/*'

  • 验证podspec的正确性:

本地验证,添加--allow-warnings忽略警告。

pod lib lint xxxx.podspec --allow-warnings
如果依赖了自己的库需要使用source的方式验证

远程验证

pod spec lint --sources='私有仓库repo地址,https://github.com/CocoaPods/Specs'

如果看到
xxxx passed validation.
就表示成功了

2.5 上传并打tag
  • 上传
git add .
git commit -m '提交描述'
git remote add origin https://github.com/DongliangZhao/DDBaseModule.git
// 第一次push如果报错的话可以加上-f
// git push -f origin master
git push origin master

  • tag

标签0.1.0spec中的s.version保持一致

git tag '0.1.0'
git push --tags

tag, 发布一个release版本,成功之后即可在releases里面看到这个tag的版本

2.6 发布库的描述文件podspec给cocoapods

pod trunk push xxxx.podspec --allow-warnings

看到

这说明已经过了,接着就是等。

这里补充一下,创建私有库时,这里并不是使用trunk的方式提交,而是将podspec添加到私有索引库Sepc repo中,命名如下:

pod repo push PodSpec名称  Demo.podspec

3. 验证与维护

  • 验证

    搜索

pod search DDBaseModule
如果搜索不到,则执行下面命令:
rm ~/Library/Caches/CocoaPods/search_index.json

删除后,再search,出现下面的

Creating search index for spec repo 'master'..

稍等就会搜索到。

使用

pod 'DDBaseModule'
  • 维护

    如有错误或版本迭代,修改工程文件后推送到远端仓库后:

    • 需要修改podspec中的版本号
    • 重新打tag上传
    • 再进行新一轮的验证和发布

    我们还可以创建一个演示demo工程来展示查看,并不会影响我们的pod库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值