我的收藏iOS归纳

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

2021-06-18  本文已影响0人  天寒地裂

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文档

上一篇下一篇

猜你喜欢

热点阅读