RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

安装Fastlane 环境

  fastlane的git https://github.com/fastlane

  fastlane相关文档 https://docs.fastlane.tools

  本机环境如下图:

RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

 所使用的是Xcode9;

一、首先需要安装rvm

  RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。

  1 、安装命令

    $ curl -L get.rvm.io | bash -s stable

    结果:

    RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

  2、指定源

    $ source ~/.rvm/scripts/rvm

  3、检查一下是否安装正确,正确会显示版本号,如下图的1.29.3版本

     $ rvm -v

       RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

  4、用 RVM 安装 Ruby 环境

  (1)列出已知的ruby版本

     $ rvm list known

      RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

   (2)可以选择现有的rvm版本来进行安装(下面以rvm 2.3.0版本的安装为例)建议2.3.0及以上版本,2.0.0版本安装fastlane中会出现问题,等待下载。  

   $ rvm install 2.3.0  

 可能遇到的问题:如下图所示,提示Error running‘xxx’,并提示查看log文件,这里查询文件提示错误是brew 出错。

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

  解决方法:

  $ brew update

  更新的时候可能提示Error:/usr/local must be writable!

   RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

  这里需要先更改可写权限:

  $sudo chown -R 当前Mac登录的用户名 /usr/local

  例如:$sudo chown -R Datacvg /usr/local

  再执行:$ brew update

  成功后再执行$ rvm install 2.3.0

  结果:

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

   (3)查询已经安装的ruby,这里我只安装了2.3.0版本

  $ rvm list

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

   (4)卸载一个已安装版本 

       $ rvm remove 1.9.2

  5、设置 Ruby 版本

  (1)RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本,如果只有一个版本就不用设置默认了

    $ rvm 2.3.0 --default

  (2)测试ruby版本是否正确

    $ ruby -v

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

  (3)查看gem版本

    $ gem -v

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

  6、更换源

 这有可能是因为Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的,替换方式如下:

 $ gem source -r https://rubygems.org/

 $ gem source -a https://ruby.taobao.org

  要想验证是否替换成功了,可以执行:

 $ gem sources -l  

 正常的输出结果:

 RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

 到这里就已经把Ruby环境成功的安装到了Mac OS X上。

二、fastlane安装

  1、确保你的Xcode命令行工具的最新版本安装:

命令:xcode-select --install

如果已经安装会有提示已经安装:

RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

2、安装fastlane

https://docs.fastlane.tools

官方提供了三种安装方式:

RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

 

第一种:通过Homebrew,如果fastlane与jenkins结合使用可以使用brew安装,先安装homebrew,在安装fastlane,然安装jenkins,fastlane与jenkins结合使用

第二种:下载fastlane包,运行包里面install进行安装,执行install的时候会被阻止,需要在安全性与隐私设置,还有一个问题下载的包可能不是最新版,在使用的时候提示要更新,这里更新没有成功,所以不建议使用。

第三种:本文使用的方法,安装ruby之后,在命令行输入:

sudo gem install fastlane -NV

即可安装,安装完成后执行:

fastlane -v

可查询当前安装版本:

RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

 三、项目使用fastlane

1、在终端打开你的iOS项目文件.xcodeproj所在的文件夹

  cd xxx

  执行fastlane初始化,命令:

  fastlane init

  会出现一下提示:想要做什么?因为要打包企业级项目所以这里选择4, 如果选择3,需要输入Apple ID等相关信息,如果ID是企业级账号会提示init 失败。

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

 

  选择4之后,会提示回车继续,完成之后项目文件夹中会多出一个fastlane文件夹,文件中包含Appfile,Fastfile两个文件

  分别对两个文件的内容设置:

  

  Appfile:主要是app_identifier和apple_id

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

  

  Fastfile:

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

 

  都配置完成之后,在终端输入

  fastlane ios enterprise 

  执行开始打包,这里ios enterprise 是lane的Name,如果执行错误,会有提示.

  如果执行后提示gym命令相关的错误

fastlane gym produces error: method `to_plist' not defined in Array #11503

  可以参考:

https://github.com/fastlane/fastlane/issues/11503

方法终端命令:

1、rvm @global do uninstall fastlane

2、gem install fastlane

3、rvm @global do gem install fastlane

4、rvm @global do fastlane action gym

5、rvm @global do gem uninstall fastlane 

  rvm all do gem uninstall fastlane

  gem uninstall fastlane

6、gem install fastlane

  之后在打包的时候就可以了,不知道原理:

  RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包

 

四、遇到的错误

fastlane init

报错 Unable to locate Xcode. Please make sure to have Xcode installed on your machine

 

可能在Xcode中没有设置“Command Line Tools”:打开Xcode偏好设置,选择"Location"选项卡,选择相应的“Command Line Tools”即可。

 

参考文档:https://github.com/fastlane

     https://docs.fastlane.tools

     https://github.com/fastlane/fastlane/issues/11503

     https://www.jianshu.com/p/bea091f8448d?_t_t_t=0.4159752886240491