CocoaPods 公用Pod库的创建

CocoaPods 公用Pod库的创建

      • 1. CocoaPods账户创建
      • 2. 创建库文件并上传到GitHub
        • 2.1 创建私有模板库
        • 2.2 创建模板库
        • 2.3 添加组件内容
        • 2.4 安装与测试本地库
        • 2.5 修改Specs并验证
        • 2.5 上传并打tag
      • 2.6 发布库的描述文件podspec给cocoapods
      • 3. 验证与维护

1. CocoaPods账户创建

注册trunk

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

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

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

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

2.1 创建私有模板库

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

CocoaPods 公用Pod库的创建_第1张图片

CocoaPods 公用Pod库的创建_第2张图片

2.2 创建模板库

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

cd DDBaseModule的路径
pod lib create DDBaseModule

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

CocoaPods 公用Pod库的创建_第3张图片

2.3 添加组件内容

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

CocoaPods 公用Pod库的创建_第4张图片

2.4 安装与测试本地库

Podfile文件中:

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

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

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

pod install

CocoaPods 公用Pod库的创建_第5张图片

CocoaPods 公用Pod库的创建_第6张图片

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

2.5 修改Specs并验证

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

CocoaPods 公用Pod库的创建_第7张图片
主要修改内容

  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

看到
CocoaPods 公用Pod库的创建_第8张图片
这说明已经过了,接着就是等。

这里补充一下,创建私有库时,这里并不是使用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库。

你可能感兴趣的:(CocoaPods 公用Pod库的创建)