在上一篇iOS组件化开发,利用cocopods 创建自己的远程私有库讲到了如何搭建自己的私有库,这篇文章主要讲讲怎么更新自己的私有库
如图所示,在本地的基础组件的Classes路径下 又新增一个文件(WMZ_ToolDefine.h
)
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配置与安装
二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
3、执行fastlane
需要在组件仓库的根目录下执行
fastlane MZCategory tag:0.3.4 specName:MZCategory
更新完成
网友评论