Fastlane自动化的简单使用看这你就会了

安装

1.确保ruby为最新版本

brew update
brew install ruby

2.安装fastlane

sudo gem install -n /usr/local/bin fastlane

使用

1. fastlane初始化及查询相关操作命令

// 查看当前fastlane版本
fastlane --version

// 查看所有action
fastlane actions

2. cd 到项目目录 对fastlane初始化

fastlane init

初始化完成后将生成fastlane文件夹 Fastfile 和 Appfile

3. fastlane的应用的相关配置

添加功能插件自动打包上传到蒲公英

在终端中,输入以下命令,即可安装蒲公英的 fastlane 插件。

fastlane add_plugin pgyer
配置Fastfile文件 打包上传蒲公英或打包上传App Store
default_platform(:ios)
platform :ios do
#build号自增处理配置
def updateProjectBuildNumber
  currentTime = Time.new.strftime("%Y%m%d")
  build = get_build_number()
  if build.include?"#{currentTime}."
  # => 为当天版本 计算迭代版本号
  lastStr = build[build.length-2..build.length-1]
  lastNum = lastStr.to_i
  lastNum = lastNum + 1
  lastStr = lastNum.to_s
  if lastNum < 10
    lastStr = lastStr.insert(0,"0")
  end
    build = "#{currentTime}.#{lastStr}"
  else
  # => 非当天版本 build 号重置
    build = "#{currentTime}.01"
  end
#打包上传蒲公英
  lane :test do |options|   #test为任务名
  #increment_version_number(version_number:   op[:vnum])#vnum 是参数名,命令行调用的时候输入的参数名,设置version版本
  #increment_build_number(build_number: op[:bnum])#设置build版本
  desc "development"
  gym(
    clean:true, #打包前clean项目
    scheme: "shangshaban",   #工程下要打包的项目,如果一个工程有多个项目则用[项目1,项目2]
    configuration: "Debug",#环境
    export_method: "development", #打包的方式, development/adhoc/enterprise/appstore
    output_directory: './app',  #指定ipa最后输出的目录
    output_name:get_build_number()#输出ipa的文件名为当前的build号
  )
   pgyer(api_key: "03333328535943969b38f88ab462e30f",   user_key: "2f1d029b10d34215a91182f3547259db", update_description: options[:desc])#上传到蒲公英
# firim(firim_api_token: [firim_api_token]) #上传到firim
  end

  desc "发布到AppStore"
  lane :release do
# add actions here: https://docs.fastlane.tools/actions'
  updateProjectBuildNumber
  gym(
    scheme:"shangshaban",
    export_method:"app-store",
    output_directory:"./build",
    archive_path:"./Archive",
    clean: true,
    )
   upload_to_app_store
 #这个方法是上传项目到 appstore 的方法 下面有介绍 写这里就是执行完打包自定上传到 itunes connect            
   
  end
 end
执行下面的命令分别上传到蒲公英 和 发布到AppStore
上传到蒲公英
fastlane test

发布到AppStore
fastlane release

常见错误解决方案

1.如果出现类似下面的错误, 则可能是ruby源问题, 可更换ruby源后重新安装
ERROR:  Could not find a valid gem 'fastlane' (>= 0), here is why:
      Unable to download data from https://gems.ruby-china.org/ - bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)

复制代码更换ruby

 // 官方https://gems.ruby-china.com/把org改成了com, 使用时注意替换

 // 查看gem源
gem sources

// 删除默认的gem源
gem sources --remove https://gems.ruby-china.org/

// 增加gem源
gem sources -a https://gems.ruby-china.com/

// 查看当前的gem源
gem sources

// 清空源缓存
gem sources -c

// 更新源缓存
gem sources -u
2.fastlane 命令运行出现下面警告:
It seems like you wanted to load some plugins, however they couldn't be loaded Please follow the troubleshooting guide: https://docs.fastlane.tools/plugins/plugins-troubleshooting/

一般需要检查Gemfile和Pluginfile是否正常:
Gemfile:
默认为:

plugins_path = File.join(File.dirname(__FILE__), '.', 'Pluginfile')eval_gemfile(plugins_path) if File.exist?(plugins_path)

如果Pluginfile放在fastlane文件夹下改为:

plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')eval_gemfile(plugins_path) if File.exist?(plugins_path)

Pluginfile:
gem 'fastlane-plugin-pgyer'

完成fastlane其中的一个自动化打包功能,之后会介绍其他功能

推荐阅读更多精彩内容