iOS使用Fastlane实现自动化打包和上传

简介:Fastlane是一套使用Ruby写的自动化工具集,用于iOS和Android的自动化打包、发布等工作,可以节省大量的时间。

目标:使用fastlane进行iOS代码自动打包ipa,以及ipa包上传到蒲公英和fir.im。


一、安装fastlane:

1、首先要安装正确的 Ruby 版本。在终端窗口中用下列命令来确认:

ruby -v

2、检查 Xcode 命令行工具是否安装。在终端窗口中输入命令:

xcode-select --install

如果未安装,终端会开始安装,如果报错误:command line tools are already installed, use "Software Update" to install updates.代表已经安装。

3、安装fastlane:

sudo gem install fastlane

二、初始化fastlane:

cd到项目工程目录,执行

fastlane init
初始化.png

选择4之后执行完,目录多了fastlane目录和Gemfile。我们主要配置如下图Appfile和Fastlane这两个文件。

fastlane目录.png

三、配置Appfile文件和Fastfile文件

配置这两个文件之前,先安装一下蒲公英和firim插件,我这里用到自动上传ipa到蒲公英和firim(安装一个即可,我这里同时安装配置,则会分别上传到这两个网站)。

终端执行:

fastlane add_plugin pgyer
fastlane add_plugin firim

安装插件成功后,开始配置Appfile文件和Fastfile文件:

1、配置Appfile文件:

Appfile文件.png

2、配置Fastfile文件:

default_platform(:ios)
platform :ios do
  desc "Submit a new adhoc Beta Build to [https://www.pgyer.com/](https://fir.im/)"
  lane :adhoc do   #这个adhoc可以更改名字,执行打包时的名
    gym(
    scheme: "HSLuckyDog4iOS",
        workspace: "HSLuckyDog4iOS.xcworkspace",    #项目文件名
        include_bitcode: false,
        #configuration: "Release",
        export_method: "ad-hoc",                                 
        output_directory: "/Users/pengwang/Desktop/ipa",    #ipa包输出目录   
        output_name: "huicai.ipa",     #ipa输出包名                              
        silent: false,
        include_symbols: true,
    )
    pgyer(api_key: "7031607f02bf3a78272e27733219a6", user_key: "f1d55900cf4f449769b13cb0632b67")    #替换
    firim(firim_api_token: "91bb94f8d9260d8c65491560fcad1")    #替换
  end
end
Fastfile文件.png

其中,蒲公英的api_key和user_key,和fir的api_token需要分别在官网获取。

蒲公英key.png
fir的api_token.png

四、执行自动打包:

终端执行:

fastlane adhoc

此时终端会开始打包,等待打包完成即可。

备注:后续可研究jenkins + fastlane自动化打包。

推荐阅读更多精彩内容