iOS 模块组件化的自动化实现

上一篇文章,介绍了怎么开发一个私有的模块供他人使用,这一篇讲一下怎么自动化的实现一个模块的更新。
先来看一下,手动更新一个模块都需要做哪些工作。
  • pod install 然后修改代码
  • 修改podspec,升级版本号
  • git add .
  • git commit -m 'xx'
  • git push origin
  • git tag -a xx -m 'xxx'
  • git push --tags
  • pod repo push XXXSpecs XXX.spec 对spec文件进行验证&提交
有没有可能,一行代码就实现上面所有的步奏呢,答案是可以的,我们可以通过fastlane,创建一个自动化的ruby的脚本来实现上面的步奏。下面的一篇简单的介绍
http://icyleaf.com/2016/07/fastlane-in-action/?utm_source=tuicool&utm_medium=referral
1,首先,安装fastlane
 brew update
 brew install ruby 要求ruby版本最新
 sudo gem install fastlane 
安装成功后,可以通过在终端输入fastlane查看相关信息
图片.png
2,cd 进入项目的根目录
 fastlane init
3,进入fastlane文件夹,编写Fastfie
进入这里,可以查看官方已经编写好的action。https://docs.fastlane.tools/actions/Actions/
图片.png
 # 定义很多个航道
 # 一个航道: 快速的升级维护pod私有库
 # 描述航道是做什么用的
   desc "快速的升级维护pod私有库"
   lane :ManagerPodLib do |options|
   targetName = options[:targetName]
   tagName = options[:tagName]
# 这里面, 只能写已有action
# 1. pod install
# 这里的路径, 统统是相对于根路径
cocoapods(
 clean: true,
 podfile: "./Example/Podfile"
)

# 2. podspec升级版本号
version_bump_podspec(path: "#{targetName}.podspec", version_number: tagName)

 # 3. 提交代码到远程代码仓库
 #   1. git add .
git_add(path: ".")
 #   2. git commit -m ‘xx’
git_commit(path: ".", message: "升级版本")
#   3. git push origin master
push_to_git_remote
 # 判断标签是否已经存在
 # 如果存在, 删除 不存 (自定义)

 # 4. 打标签提交
 #   1. git tag 0.2.0
 add_git_tag(
  tag: tagName
  )
#   2. git push —tags
push_git_tags

# 5. 提交podspecs
# pod repo push XMGFMSpecs XMGFMBase.podspec
pod_push(path: "#{targetName}.podspec", repo: "SKFFMPrivate")
end
repo 就是你的定义的私有Spec名称。
编写好上面的fastlane以后,试着修改一下代码
然后cd 进入根目录,
  fastlane ManagerPodLib targetName:SKFDownLoadLib tagName:0.2.0
targetName 后面是代码库的名字,tagName是要升级的版本号。
图片.png
图片.png
一行代码就实现了自动化的更新模块
使用中,有任何问题,欢迎留言。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容