iOS Fastlane自动化打包并上传Fir

注意:Mac + iTerm2作为基本工具。

1、检查Mac是否已经安装ruby:

终端或者iTerm执行命令行:ruby -v 

如果没有安装,则去安装ruby;已经安装的情况下会展示当前ruby的版本,如图Image-01所示:


Image-01

2、检查本地是否安装Xcode命令行工具:

终端或者iTerm执行命令行:xcode-select --install

如果报错:

Image-02

则说明已经安装过。

3、安装fastlane:

终端或者iTerm执行命令行:sudo gem install fastlane

iOS Fastlane自动化打包并上传Fir_第1张图片
Image-03

则代表安装完成。

4、切换到工程所在目录进行fastlane初始化:

终端或者ITerm执行命令行:fastlane init

会出现如下图提示:

iOS Fastlane自动化打包并上传Fir_第2张图片
Image-04

第1个选项的意思是:自动截屏。 这个功能能帮我们自动截取APP中的截图;

第2个选项的意思是:自动发布beta版本用于TestFlight;

第3个选项的意思是:自动发布到AppStore;

第4个选项的意思是:手动设置。

这里我选择第四个:手动设置。

然后等待初始化安装依赖:

iOS Fastlane自动化打包并上传Fir_第3张图片
Image-05

根据提示,需要点击键盘上"enter"键三次,即完成初始化。

5、初始化完成之后,回到工程目录,会发现多了Gemfile文件、Gemfile.lock文件和fastlane文件夹,其中fastlane文件夹中包含Appfile和Fastfile两个文件。

在Appfile文件里做如下配置:

iOS Fastlane自动化打包并上传Fir_第4张图片
Image-06


在Fastfile文件里做如下配置:

default_platform(:ios)

platform :ios do

  desc "Submit a new adhoc version to fir" ### 这里可以任意定制desc描述

  lane :adhoc do   ### adhoc 当前fastlane任务的lane名,可以定制

    gym(scheme: "123", ### 这里”123”指的是项目名称

            workspace: "123.xcworkspace", ### 这里用当前项目对应的xcworkspace

            include_bitcode: true,

            configuration: "Release",

            export_method: "ad-hoc", ### 好几种方式有app-store,ad-hoc,development,enterprise

            output_directory: "导出ipa包的位置", ### 可以定制到自己想要的位置

             output_name: "导出ipa包的包名",  ### 可以定制自己想要的包名称

             silent: false,

              include_symbols: true)

    #上传ipa至fir.im服务器

    firim(firim_api_token: "fir-api-token")  ### 这里fir-api-token指的是fir.im上面的token

  end

这里需要注意:如果仅仅是自动打出包,而不需要上传至fir,那么

Image-07

这一块可以直接去掉;但如果想打包完直接上传至fir,还需要在项目目录下,用终端或者iTerm执行命令行:

fastlane add_plugin firim   ##安装fir插件

gem install fir-cli     ##自动上传fir

然后再执行命令:bundle exec fastlane adhoc(adhoc 是Fastfile 里的lane名)即完成打包+上传fir。

踩坑记录:

a、如果项目用cocoapods管理,仅在配置fastfile文件里加上cocoapods,运行fastlane会报错:

iOS Fastlane自动化打包并上传Fir_第5张图片
Image-08

需要在Gemfile文件里补充"gem cocoapods":

iOS Fastlane自动化打包并上传Fir_第6张图片
Image-09

之后再重新运行:

bundle exec fastlane adhoc(adhoc为运行fastlane的lane名)

b、报错说找不到"firim":

Could not find action, lane or variable 'firim'. Check out the documentation for more details: https://docs.fastlane.tools/actions

重新安装一下fir插件即可:

bundle exec fastlane add_plugin firim

c、上传至fir的包,看不到icon和更新日志:

在当前目录下,执行命令行:firim --help   查找当前可以支持的命令

iOS Fastlane自动化打包并上传Fir_第7张图片
Image-10

可以看到,红框所标记为咱们需要的命令,稍微注意下图片格式为jpg。

将上传fir脚本改为:

firim(firim_api_token: "你的fir Token", icon: "本地路径icon.jpg", app_changelog: "1、更新描述第一段测试;\n2、更新描述第二段测试。")

效果如下:

iOS Fastlane自动化打包并上传Fir_第8张图片
Image-11

参考链接:

1、https://www.jianshu.com/p/e6b15265bb39

2、https://www.jianshu.com/p/c8f3c106bada?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

你可能感兴趣的:(iOS Fastlane自动化打包并上传Fir)