Fastlane 使用手册(二)

2019-12-02  本文已影响0人  肖旭晖

https://blog.csdn.net/u011656331/article/details/80708255

FastFile配置的实例:

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#

# Uncomment the line if you want fastlane to automatically update itself
update_fastlane          # 设置是否自动更新 fastlane

default_platform(:ios)  # 设置默认的平台为ios

platform :ios do       #针对iOS平台的配置信息

  begin
      last_build = get_build_number.to_i #get_build_number,获取工程中的build number
    rescue
      puts "No Active Build using build nr. 0"
      last_build = 0
  end

  #scheme name,不同App需要修改
  scheme_name = "FastLaneDemo"
  #ipa存放路径
  ipaPath = "./ipas"

  desc "运行单元测试和UI测试"
  lane :tests do
    run_tests(scheme: scheme_name)
  end

  desc "打包并上传测试版至testflight"
  lane :beta_testflight do 
    now_build = last_build.to_i + 1
    #增加build
    increment_build_number(build_number: now_build)
    #编译App
    gym(
      clean: true,
      scheme: scheme_name,
      configuration: "Release",
      export_method: "ad-hoc",
      output_directory: ipaPath,
      output_name: "#{scheme_name}_#{now_build}",
       include_bitcode: false, #bitcode
      export_options: {   #指定配置文件等设置,如果在Xcode中配置好了可不传
      provisioningProfiles: { 
        "com.bestwise.fastlane.test.archieve" => "abbecb3e-7d7f-49eb-ad6a-be12a740b8b1", 
      }
    }
    )
    #上传至testFlight
    upload_to_testflight(
      skip_waiting_for_build_processing: true  #是否跳过等待apple处理的过程
    )
  end

  desc "打包并上传至app-store"
  lane :app_store do
    now_build = last_build + 1
    #增加build number
    increment_build_number(
      build_number: now_build
    )
    #导出ipa包
    gym(
      clean: true,
      scheme: scheme_name,
      export_method: "app-store",
      output_directory: "#{ipaPath}/release_app_store",
      output_name: "#{scheme_name}_#{now_build}"
    )
    #上传至app-store
    deliver(
      force: true,              #是否跳过HTML验证报告,默认false
      skip_metadata: true,      #是否跳过上传metadata,默认false
      skip_screenshots: true    #是否跳过上传屏幕截图,默认false
    )
  end

  desc "打包并上传测试版至蒲公英"
  lane :beta_pgyer do |args|       #args获取传入的参数
    puts args
    now_build = last_build + 1
    #增加build版本号
    increment_build_number(build_number: now_build)
    #编译并导出ipa包
    gym(
      clean: true,
      scheme: scheme_name,
      export_method: "development", #app-store、ad-hoc、development、enterprise
      output_directory: ipaPath,   #ipa包路径
      output_name: "#{scheme_name}_#{now_build}"   #ipa包名字
    )
    #上传至蒲公英
    pgyer(
          api_key: "393c8071e8072d8c029205cf7924ca5a",   #ipa_key, 可在蒲公英账户下查看
      user_key: "c957c712b5e22bce2a2eef4125589195",   #user_key, 可在蒲公英账户下查看
          update_description: args[:updateDesc] #更新描述,updateDesc为传入的参数的名字, 如:fastlane beta_pgyer updateDesc: "更新说明"
    )
  end


  desc "上传已知的ipa包至testflight"
  lane :upload_testflight do |args|   #args获取传入的参数
    upload_to_testflight(
      ipa: args[:ipaPath], #ipa路径 ipaPath为传入的参数的名字
      skip_waiting_for_build_processing: false #是否跳过等待apple 处理
    )
  end
end

上一篇下一篇

猜你喜欢

热点阅读