iOS使用fastlane一键打包上传到蒲公英
1、安装fastlane
1.1 安装fastlane
1 | sudo gem install fastlane |
1.2 检查版本 fastlane
1 | fastlane --version |
2、工程添加fastlane
2.1 初始化配置
1 | $ cd 项目目录 |
2.2 初始化什么样的配置,上传到蒲公英,我们选4
1 | What would you like to use fastlane for? |
这个地方会要你选择。
1.自动截屏。这个功能能帮我们自动截取APP中的截图,并添加手机边框.
2.自动发布beta版本用于TestFlight
3.自动的App Store发布包
4.手动设置
我这里是选的第4个。自行选择就好。
有可能会遇到卡着的情况,比如:
这里如果卡住,取消重新来一次
2.3 安装蒲公英的 Fastlane 插件
在终端中,输入以下命令,即可安装蒲公英的 fastlane 插件。1
fastlane add_plugin pgyer
2.4 安装fir的 Fastlane 插件
在终端中,输入以下命令,即可安装fir的 fastlane 插件。1
fastlane add_plugin fir
或者1
fastlane add_plugin fir_cli
或者1
fastlane add_plugin firim
3、配置
3.1 配置Appfile文件,配置如下:
1 | app_identifier "" # 你App的bundleID |
3.2 配置Fastfile文件,配置如下:
1 | default_platform(:ios) |
一个lane就是一个任务,build名字可以自己改,gym是fastlane提供的打包工具,括号里面就是你自己配置的一些东西。意思你用fastlane打包的时候,Xcode也可以编译运行手机程序了,不影响你Xcode工作,只是不能修改代码,但是打断点、看图层还是可以的。
最后一个就是蒲公英的配置了
配置上传蒲公英
1 | # => 上传pgyer |
update_description更新描述,password配置安装密码,如果配置加上这个,同时install_type也要加上,type为2,如果不要密码,就不用加上password,install_type也不用,如下1
2
3
4
5
6# => 上传pgyer
lane :uppgy do |options|
build(log: "#{options[:log]}")
pgyer(api_key: "XXXXXXXXXXXXXXXXXXXXXXXX", user_key: "XXXXXXXXXXXXXXXXXXXXXXXX", update_description: "XXXXX")
end
配置firm
1 | # => 上传fir |
firm有两个上传方法,fir_cli和firim看那个可以用用哪个,另一个要注释掉,前面加个#就是注释
4、上传
cd 到工程目录下,和fastlane同级的目录。输入如下指令1
fastlane ios upfir
等待打包上传即可
4.1 fir 上传成功
Tips:踩坑指南
1.报错Error setting value ‘XXXXX.xcworkspace’ for option ‘workspace’
打开Fastfile
文件,修改以下地方1
workspace: "XXXXXX.xcworkspace", #如果项目使用CocoaPods需要加上
2.报错Could not find action, lane or variable ‘fir_cli’.
没有安装插件,回到2.4,执行以下命令1
fastlane add_plugin fir_cli
3.报错You passed invalid parameters to ‘firim’.
传入了无效参数,打开Fastfile
文件,修改以下地方1
firim(firim_api_token: "b81d14b2ee462c3f63948b94ec0ab16a", changelog: "#{options[:log]}")
改成1
firim(firim_api_token: "b81d14b2ee462c3f63948b94ec0ab16a")
或者1
firim(firim_api_token: "b81d14b2ee462c3f63948b94ec0ab16a", app_changelog: "#{options[:log]}")