iOS使用fastlane一行命令上传到蒲公英

iOS使用fastlane一行命令上传到蒲公英

1、安装fastlane

1.1 安装fastlane

sudo gem install fastlane

1.2 检查版本 fastlane

fastlane --version

2、工程添加fastlane

2.1 初始化配置

$ cd 项目目录
$ fastlane init

2.2 初始化什么样的配置,上传到蒲公英,我们选4

What would you like to use fastlane for?
1.   Automate screenshots
2. ✈️  Automate beta distribution to TestFlight
3.   Automate App Store distribution
4.   Manual setup - manually setup your project to automate your tasks

这个地方会要你选择。
1.自动截屏。这个功能能帮我们自动截取APP中的截图,并添加手机边框.
2.自动发布beta版本用于TestFlight
3.自动的App Store发布包
4.手动设置
我这里是选的第4个。自行选择就好。

有可能会遇到卡着的情况,比如:


-w583

这里如果卡住,取消重新来一次

2.3 安装蒲公英的 Fastlane 插件

在终端中,输入以下命令,即可安装蒲公英的 fastlane 插件。

fastlane add_plugin pgyer

2.4 安装fir的 Fastlane 插件

在终端中,输入以下命令,即可安装fir的 fastlane 插件。

fastlane add_plugin fir

或者

fastlane add_plugin fir_cli

或者

fastlane add_plugin firim

3、配置

3.1 配置Appfile文件,配置如下:

app_identifier "" # 你App的bundleID
apple_id "" # 你的开发账号邮箱

3.2 配置Fastfile文件,配置如下:

default_platform(:iOS)

platform :iOS do
  desc "Description of what the lane does"
  lane :build do |options|
    #输出ipa包路径
    outputDir = "~/ipa"
    gym(
        # 指定输出的ipa名称
        output_name:"XXXApp_#{options[:log]}",
        # 指定项目的scheme  工程名字
        scheme:"XXXX",
        # 是否清空以前的编译信息 true:是
        clean:false,
        # 指定打包方式,Release 或者 Debug
        configuration:"Debug",
        # 指定打包方式,目前支持app-store, package, ad-hoc, enterprise, development
        # 注:由于使用手动配置证书,在export_options指定打包方式
        #export_method:"#{ipa_exportMethod}",
        # 指定输出文件夹
        output_directory: outputDir,
        # Xcode9将不会允许你访问钥匙串里的内容,除非设置allowProvisioningUpdates
        export_xcargs:"-allowProvisioningUpdates",
        # 隐藏没有必要的信息
        silent:true,
        # 手动配置证书,注意打包方式需在export_options内使用method设置,不可使用export_method
        export_options: {
            method:"development"
            },
        include_bitcode: false,
        workspace: "XXXX.xcworkspace",  #如果项目使用CocoaPods需要加上
        )
end
end

一个lane就是一个任务,build名字可以自己改,gym是fastlane提供的打包工具,括号里面就是你自己配置的一些东西。意思你用fastlane打包的时候,Xcode也可以编译运行手机程序了,不影响你Xcode工作,只是不能修改代码,但是打断点、看图层还是可以的。
最后一个就是蒲公英的配置了

配置上传蒲公英

# => 上传pgyer
lane :uppgy do |options|
 
    build(log: "#{options[:log]}")
    pgyer(api_key: "XXXXXXXXXXXXXXXXXXXXXXXX", user_key: "XXXXXXXXXXXXXXXXXXXXXXXX", update_description: "XXXXX", password: "123", install_type: "2")
end

update_description更新描述,password配置安装密码,如果配置加上这个,同时install_type也要加上,type为2,如果不要密码,就不用加上password,install_type也不用,如下

# => 上传pgyer
lane :uppgy do |options|
 
    build(log: "#{options[:log]}")
    pgyer(api_key: "XXXXXXXXXXXXXXXXXXXXXXXX", user_key: "XXXXXXXXXXXXXXXXXXXXXXXX", update_description: "XXXXX")
end

配置firm

# => 上传fir
lane :upfir do |options|
 
    build(log: "#{options[:log]}")
    firim(firim_api_token: "XXXXXXXXXXXXXXXXXXXXXXXX")
    #fir_cli api_token: "XXXXXXXXXXXXXXXXXXXXXXXX", changelog: "#{options[:log]}"
end

firm有两个上传方法,fir_cli和firim看那个可以用用哪个,另一个要注释掉,前面加个#就是注释

4、上传

cd 到工程目录下,和fastlane同级的目录。输入如下指令

fastlane iOS upfir

等待打包上传即可

4.1 fir 上传成功

-w517

Tips:踩坑指南

1.报错Error setting value 'XXXXX.xcworkspace' for option 'workspace'

打开Fastfile文件,修改以下地方

workspace: "XXXXXX.xcworkspace",  #如果项目使用CocoaPods需要加上

2.报错Could not find action, lane or variable 'fir_cli'.

-w570

没有安装插件,回到2.4,执行以下命令

fastlane add_plugin fir_cli

3.报错You passed invalid parameters to 'firim'.

-w563
-w577

传入了无效参数,打开Fastfile文件,修改以下地方

firim(firim_api_token: "XXXXXXXXXXXXXXXXXXXXXXXX", changelog: "#{options[:log]}")

改成

firim(firim_api_token: "XXXXXXXXXXXXXXXXXXXXXXXX")

或者

firim(firim_api_token: "XXXXXXXXXXXXXXXXXXXXXXXX", app_changelog: "#{options[:log]}")

如果有其他问题,请在评论区留言,我会尽可能回复,谢谢

参考文档:

使用 Fastlane 上传 App 到蒲公英
fastlane文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350