如何调试 fastlane 源码

如何调试 fastlane 源码

做iOS开发的同学相信基本上都用过 fastlane,使用 fastlane 可以简化我们的开发和发布流程,例如自动化同步开发证书和描述文件(fastlane match)和一键打包以及同步上传安装包到AppStore(iOS App Store deployment using fastlane)等等。

如果想要深入的了解 fastlane 的工作流程,硬着头皮直接读源码,往往会比较低效。高效的做法是打断点一步步调试,来逐步了解整个流程。

下面我将详细的介绍 fastlane 调试的整个流程。

一、环境配置

Ruby

由于 fastlane 是使用 Ruby 来实现的,所以我们需要配置好 ruby 环境,我这边是使用的 ruby 2.7.6 版本。macOS 系统是自带有 Ruby 环境的,但是使用系统自带的 Ruby 经常会碰到各种问题,如比较常见的问题:You don’t have write permissions for the /Library/Ruby/Gems/2.3.0 directory.,这里我们不做详细探讨,想要了解背后的原因,强烈推荐阅读这篇文章:为什么我们要使用 RVM / Bundler ?

我个人推荐使用 rbenv 来管理和切换 Ruby 版本,可以根据官方的 安装教程 来安装 rbevn,然后使用 rbevn 来指定 Ruby 版本。

rbenv install --list  # 列出所有 ruby 版本
rbenv install 2.7.6   # 安装 2.7.6 版本  
rbenv global 2.7.6    # 全局设置默认版本为 2.7.6

查看当前所使用的 Ruby 版本。

$ rbenv version
2.7.6 (set by /Users/Bob/.rbenv/version)

RubyGems

gem 是 基于Ruby开发的软件包,类似 iOS 中的 framework。

RubyGems 是 Ruby 的一个包管理工具,以及提供了 Ruby 组件的托管服务。当我们使用 gem install xxx 时,会通过 rubygems.org 来查询对应的 Gem Package。而 iOS 日常中的很多工具都是 Gem 提供的,例:BundlerfastlaneCocoaPods等。

Bundler

在默认情况下 Gem 总是下载 library 的最新版本,这无法确保所安装的 library 版本符合我们预期。因此我们还缺一个gem版本管理工具,这时候 Bundler 就横空出世了。

bundler 是管理Gem依赖的工具,它通过描述文件 Gemfile 来管理一系列依赖,使用命令 bundle install 会一键安装所有依赖, 并且生成 Gemfile.lock 文件来锁定版本号。可以说 RubyGems + Bundler 就相当于iOS 中的 CocoaPods

可以通过如下命令来安装

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值