cocopods私有库的更新

2019-04-04  本文已影响0人  Edviin_2de8

在上一篇iOS组件化开发,利用cocopods 创建自己的远程私有库讲到了如何搭建自己的私有库,这篇文章主要讲讲怎么更新自己的私有库

如图所示,在本地的基础组件的Classes路径下 又新增一个文件(WMZ_ToolDefine.h

image.png
1.编辑MZCategory 模版工程的MZCategory.podspec文件
image.png

$ git status
$ git add .
$ git commit -m '更新内容'
$ git push origin master (提交到远程仓库)
$ git tag '0.2.0'(要与MyProjectBase.podspec文件中的tag值保持一致)
$ git push --tags(将tag提交到远程)
$ pod repo push EdviinSpecs MZCategory.podspec

执行 pod repo push 本地repo名 NAME.podspec --verbose --use-libraries --allow-warnings

接下来讲讲利用fastlane实现pod更新自动化自动化

一 Fastlane配置与安装

参考iOS fastlane自动化打包集成流程及使用方法

二fastlane初始化

cd到你的本地组件仓库的根目录

fastlane init
不过这个步骤对我们来说可以跳过,在init后提示你输入一些东西,包括上传需要用到的APPLE ID什么的一堆东西,由于我们并不涉及这些,所以我们使用更方便的方式

# 创建一个fastlane文件夹
# 进入fastlane目录
# 创建一个Fastfile文件
mkdir fastlane
cd fastlane
touch Fastfile

1、修改Fastfile

desc '描述航道作用'
lane :航道名称 do |options|

// options 可以用来传递参数
// 示例:varName = options[:name]

// 航道上需要执行的操作

end

附上本人的Fastfile内容:

desc 'MZCategory自动化升级'
lane :MZCategory do |options|

tagNum = options[:tag]
podspecName = options[:specName]

# 航道上需要执行的操作
# 具体action到 https://docs.fastlane.tools/actions 上面查找
# 这里的路径以仓库根目录为准

# 1、修改spec文件(修改s.version,s.description等)
# 2、pod install (使Example与pod下来的库产生关联)
cocoapods(
  clean: true,
  podfile: "./Example/Podfile"
)


# 3、提交本地仓库代码至远程仓库
git_add(path: ".")
git_commit(path: ".", message: "upgrade repo")
push_to_git_remote


# 4、打标签,并提交至远程
add_git_tag(
  tag: tagNum
)
push_git_tags


# 5、验证spec,并提至私有索引库
pod_lib_lint(allow_warnings: true)
# 因为本地索引库repo的名字是基本上不会去改变的,所以这里直接写死 LXFSpecs
# podspec的名字需要由外界传入
pod_push(path: "#{podspecName}.podspec", repo: "EdviinSpecs")


end

2、验证Fastfile

fastlane lanes

image.png

3、执行fastlane

需要在组件仓库的根目录下执行
fastlane MZCategory tag:0.3.4 specName:MZCategory

image.png
更新完成
上一篇下一篇

猜你喜欢

热点阅读