FastLane-ios自动打包效率神器
背景: 不想每次测试都喊我打包,很累的,所以开始寻找,有你的世界在哪里
一.安装fastlane
1.换ruby源
多话不说,墙,换成国内镜像源
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.com
# 确保只有 gems.ruby-china.com
2.开始用gem安装(不建议使用brew cask安装)
sudo gem install fastlane -NV
耐心等待,等装完
二.为项目配置fastlane
cd 到你的ios项目根目录下
fastlane init
这时候有个选项,根据自己需求选就行,我选择的4,自定义,然后回车
当命令执行到
bundle update
接着你会发现,你卡在这了,也是墙的原因,不要犹豫,ctrl+c暂停一哈
用finder打开你的ios项目根目录,你会发现生成了
GemFile文件和fastlane文件夹(里面包含一个Appfile和FastFile)
这时候我们打开GemFile,将里面的ruby源改为国内镜像
#旧,删除这行
source "https://rubygems.org"
#新
source "https://gems.ruby-china.com"
保存以后,cd到ios根目录下,输入
bundle update
继续升级,期间可能问你要几次密码,输入你的mac开机密码即可.
至此,为项目做准备工作完毕.
三.FastLane编写
FastLane文件夹下有个FastLane文件,这个文件其实就是我们进行打包工作用的ruby脚本
(不要看到ruby脚本就害怕,我也不会,但是依葫芦画瓢没什么难的)
如图,给我们留了一个示例.
再百度一下别人咋写的,我们依葫芦画瓢抄一份,如下图
desc "打一个测试包看看"
lane :test_ad do |options|
gym(
clean:true, #打包前clean项目
export_method: "ad-hoc", #导出方式,平时打包这个肯定看过,不用我多说
scheme:"RevenueReport", #scheme,写你项目的target名
configuration: "Release",#环境 Debug,Release,或者你自己改过项目可能还有别的环境,这个你填自己项目的就行
output_directory:"./app",#ipa的存放目录,没有文件夹会自动生成
#output_name:get_build_number()#输出ipa的文件名为当前的build号,我改成了我app的名字如下
output_name:"RevenueReport"
)
# add actions here: https://docs.fastlane.tools/actions
end
保存,我们开始打个ad包看看(如果你有多个target或者使用pod等三方库管理,怎么编写自行百度一下,我因为是react-native的项目,没有使用pod管理,这里就不写了)
四.打包
依旧,我们cd到ios根目录下
cd 项目根目录
#test_ad是刚刚在fastlane的文件中起的名字,你写自己的
fastlane test_ad
中途可能会问你要appid和appid密码以及开了双重认证的密码,这个就不用说了,你填写就行.我因为填写过,这里就不截图了.
耐心等待即可.
打包就完成了,ipa和dsym都有.稳