美文网首页
iOS Fastlane自动化打包并上传Fir

iOS Fastlane自动化打包并上传Fir

作者: Smalla | 来源:发表于2019-05-09 15:38 被阅读0次

    注意: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

    Image-03

    则代表安装完成。

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

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

    会出现如下图提示:

    Image-04

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

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

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

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

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

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

    Image-05

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

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

    在Appfile文件里做如下配置:

    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会报错:

    Image-08

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

    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   查找当前可以支持的命令

    Image-10

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

    将上传fir脚本改为:

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

    效果如下:

    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

          本文链接:https://www.haomeiwen.com/subject/jwjvoqtx.html