1、安装
Ruby 2.0.0及以上版本
(1)使用 gem 安装 fastlane
sudo gem install fastlane
(2)直接下载安装:(https://github.com/fastlane/fastlane)
(3)确保 Xcode 命令行工具已安装:
xcode-select --install
2、基本使用
(1)cd到工程所在的文件
(2)输入命令
fastlane init
期间会要求输入app 的id、密码、bundle identifier等(如果在多个team会让选择哪个team)。
完成后会增加一个fastlane文件夹,里面有两个文件Appfile、Fastfile。
(3)修改Fastfile,使用相关命令。
3、使用场景举例
要求,按规定方式命名并把ipa和dSYM文件放到指定位置。
fastlane文件如下:
lane :dev_ipa do
cocoapods
increment_build_number
increment_version_number
build_number = get_build_number(xcodeproj: "appName.xcodeproj")
version = get_version_number(xcodeproj: "appName.xcodeproj")
time = Time.new
time_str = time.strftime("%Y%m%d")
current_path = File.expand_path("..")
out_put_path = current_path + time.strftime("%Y%m%d%H%M")
gym(
workspace: "appName.xcworkspace",
scheme: "appName",
clean: true,
output_directory: out_put_path,
output_name: "appName" + "-" + time.strftime("%Y%m%d") + "-" + version + "-v" + build_number + "-dev",
configuration: "Debug",
silent: true,
include_symbols: true,
include_bitcode: true,
export_method: "enterprise",
use_legacy_build_api: true,
increment_version_number,
)
end
4、命令的一些说明
workspace:"appName.xcworkspace”,#指定.xcworkspace文件的路径。
scheme:"appName",#指定项目的scheme名称,如果不设置会在终端里提醒设置
clean:true,#在打包前是否先执行clean。
output_directory:"path/to/dir",#指定.ipa文件的输出目录,默认为当前文件夹。
output_name:"appName",#指定生成的.ipa文件的名称,应包含文件扩展名。
configuration:"Debug",#指定打包时的配置项,默认为Release。证书要在Xcode里面配置好,关于配置证书请参考(https://docs.fastlane.tools/codesigning/xcode-project/)
silent:true,#是否隐藏打包时不需要的信息。
include_symbols:true, #是否生成符号表,默认true
include_bitcode:true,#是否开启bitcode,默认true
export_method:"ad-hoc",#指定导出.ipa时使用的方法,可用选项:app-store, ad-hoc, package, enterprise, development, developer-id。默认:app-store。只有在证书完全匹配成功的情况下才能打出想要的包,一定要保证工程设置正确。
其它常用命令
获取build:build_number = get_build_number(xcodeproj: "appName.xcodeproj")
获取version:version = get_version_number(xcodeproj: "appName.xcodeproj")
获取当前文件的位置:current_path = File.expand_path("..")
获取时间:time = Time.new ,time_str = time.strftime("%Y%m%d")
如果打包失败添加:use_legacy_build_api: true,试一试。
版本号自动增加:increment_version_number,
build自动增加:increment_build_number
注:自动增加版本号需要配置,具体配置请参考官方文档或使用fastlane自动增加版本号