fastlane是为iOS和Android应用程序自动化beta部署和发布的最简单方法。它处理所有繁琐的任务,例如生成屏幕截图,处理代码签名和发布应用程序。
一行命令实现打包上传工作、检车项目配置是否正确、自动上传到第三方测试平台或者直接上传到App Store等。
一、安装Xcode命令行工具
电脑如果装的有Xcode
,可以点击菜单栏
> preferences
> Locations
> Command Line Toools
查看。如果没有安装执行下方命令。
$ xcode-select --install
出现下方提示证明安装成功
二、安装fastlane
官方提供了两种安装方式,推荐使用brew cask install fastlane
命令安装。
# Using RubyGems
$ sudo gem install fastlane -NV
# Alternatively using Homebrew
# Homebrew Mac包管理器 我是通过这个命令安装的
$ brew cask install fastlane
或者用它
$ sudo gem install -n /usr/local/bin fastlane
这个也可以
$ gem install fastlan
通过上面命令安装成功后记得把下面的环境配置放到环境配置文件中,是隐藏文件。
.bash_profile或者.zshrc文件,如果不添加可能会报找不到fastlane。因为不添加终端会去别的位置找fastlane。
export PATH="$HOME/.fastlane/bin:$PATH”
添加完成后执行下面命令让环境配置生效
$ source ~/.profile
这是我安装过后没添加环境配置报的错
huanghaipo-2:~ huanghaipo$ fastlane -v
Traceback (most recent call last):
3: from /Users/huanghaipo/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in `'
2: from /Users/huanghaipo/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in `eval'
1: from /Users/huanghaipo/.rvm/gems/ruby-2.6.3/bin/fastlane:23:in `'
/Users/huanghaipo/.rvm/gems/ruby-2.6.3/bin/fastlane:23:in `load': cannot load such file -- /Users/huanghaipo/.rvm/gems/ruby-2.6.3/specifications/bin/fastlane (LoadError)
fastlane
安装成功后通过-v
查看版本当前安装版本。
三、使用fastlane
1. cd到项目目录下执行命令
$ fastlane init
2. 选择一项任务执行:
- 自动截图
- 自动将beta上传到TestFlight
- 提交到App Store等待审核
- 手动设置 - 手动设置项目以自动执行任务
3. 选择第三项测试是否可以使用fastlane
打包上传。
因为我们项目中有四个Scheme
所以我这需要选择那个Scheme
测试上传选择3。
4. 登录开发者账号输入账号密码以及验证码。
5. 如果你的账号加入多个开发者账号需要选择你需要的。
直接选择1或者2不输入后面的数字。
6.提示上面的步骤都成功了,询问是否生成metadata文件,输入yes。
7. metadata文件目录
metadata
:App元数据
screenshots
:商店应用截图
Appfile
:主要存放App标识符、App Id、团队Id等信息
Deliverfile
:发布的配置信息,发布的时候填写信息。
Fastfile
:我们经常会修改的文件,设置App打包发布到哪。
8. 配置文件
刚创建好打开的Fastfile
文件,一个lane
应该就是一个功能或者任务,如打包提交到App Store或者到蒲公英等。
修改后
increment_build_number 打的ipa包的Build版本号自增长。防止打的版本号低而上传不了。
Deliverfile
配置版本更新说明等。
9.打包上传
1. 上传到App Store
cd到项目根目录下执行下方命令 上传到App Store
fastlane hu_release(刚才Fastfile文件定义的名称)
2. 上传到蒲公英
在终端中,输入以下命令,即可安装蒲公英的 fastlane 插件。插件不是全局的,那个项目需要上传到蒲公英都需要安装这个插件
fastlane add_plugin pgyer
稍等几秒钟,如果出现类似下面的信息,就说明安装成功了:
新建一个lane
esc "打包到pgy"
lane :test do |options|
gym(
clean:true, #打包前clean项目
export_method: "ad-hoc", #导出方式
scheme:"shangshaban", #scheme
configuration: "Debug",#环境
output_directory:"./app",#ipa的存放目录
output_name:get_build_number()#输出ipa的文件名为当前的build号
)
#蒲公英的配置 替换为自己的api_key和user_key
pgyer(api_key: "xxxxxxx", user_key: "xxxxxx",update_description: options[:desc])
end