我的GitHub
0%

FastLane-ios自动打包效率神器

FastLane-ios自动打包效率神器

背景: 不想每次测试都喊我打包,很累的,所以开始寻找,有你的世界在哪里

一.安装fastlane

1.换ruby源

多话不说,墙,换成国内镜像源

1
2
3
4
$ 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安装)

1
sudo gem install fastlane -NV

耐心等待,等装完

二.为项目配置fastlane

1
2
cd 到你的ios项目根目录下
fastlane init

如图

这时候有个选项,根据自己需求选就行,我选择的4,自定义,然后回车

当命令执行到

1
bundle update

接着你会发现,你卡在这了,也是墙的原因,不要犹豫,ctrl+c暂停一哈

用finder打开你的ios项目根目录,你会发现生成了
GemFile文件和fastlane文件夹(里面包含一个Appfile和FastFile)

这时候我们打开GemFile,将里面的ruby源改为国内镜像

1
2
3
4
#旧,删除这行
source "https://rubygems.org"
#新
source "https://gems.ruby-china.com"

保存以后,cd到ios根目录下,输入

1
bundle update

继续升级,期间可能问你要几次密码,输入你的mac开机密码即可.

至此,为项目做准备工作完毕.

三.FastLane编写

FastLane文件夹下有个FastLane文件,这个文件其实就是我们进行打包工作用的ruby脚本
(不要看到ruby脚本就害怕,我也不会,但是依葫芦画瓢没什么难的)
如图,给我们留了一个示例.

示例
再百度一下别人咋写的,我们依葫芦画瓢抄一份,如下图

我写的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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根目录下

1
2
3
cd 项目根目录
#test_ad是刚刚在fastlane的文件中起的名字,你写自己的
fastlane test_ad

中途可能会问你要appid和appid密码以及开了双重认证的密码,这个就不用说了,你填写就行.我因为填写过,这里就不截图了.

耐心等待即可.

image

image
打包就完成了,ipa和dsym都有.稳

我是阿星,阿星的阿,阿星的星!