RVM安装、自动化打包Fastlane安装,iOS企业级自动化打包
安装Fastlane 环境
fastlane的git https://github.com/fastlane
fastlane相关文档 https://docs.fastlane.tools
本机环境如下图:
所使用的是Xcode9;
一、首先需要安装rvm
RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。
1 、安装命令
$ curl -L get.rvm.io | bash -s stable
结果:
2、指定源
$ source ~/.rvm/scripts/rvm
3、检查一下是否安装正确,正确会显示版本号,如下图的1.29.3版本
$ rvm -v
4、用 RVM 安装 Ruby 环境
(1)列出已知的ruby版本
$ rvm list known
(2)可以选择现有的rvm版本来进行安装(下面以rvm 2.3.0版本的安装为例)建议2.3.0及以上版本,2.0.0版本安装fastlane中会出现问题,等待下载。
$ rvm install 2.3.0
可能遇到的问题:如下图所示,提示Error running‘xxx’,并提示查看log文件,这里查询文件提示错误是brew 出错。
解决方法:
$ brew update
更新的时候可能提示Error:/usr/local must be writable!
这里需要先更改可写权限:
$sudo chown -R 当前Mac登录的用户名 /usr/local
例如:$sudo chown -R Datacvg /usr/local
再执行:$ brew update
成功后再执行$ rvm install 2.3.0
结果:
(3)查询已经安装的ruby,这里我只安装了2.3.0版本
$ rvm list
(4)卸载一个已安装版本
$ rvm remove 1.9.2
5、设置 Ruby 版本
(1)RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本,如果只有一个版本就不用设置默认了
$ rvm 2.3.0 --default
(2)测试ruby版本是否正确
$ ruby -v
(3)查看gem版本
$ gem -v
6、更换源
这有可能是因为Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的,替换方式如下:
$ gem source -r https://rubygems.org/
$ gem source -a https://ruby.taobao.org
要想验证是否替换成功了,可以执行:
$ gem sources -l
正常的输出结果:
到这里就已经把Ruby环境成功的安装到了Mac OS X上。
二、fastlane安装
1、确保你的Xcode命令行工具的最新版本安装:
命令:xcode-select --install
如果已经安装会有提示已经安装:
2、安装fastlane
https://docs.fastlane.tools
官方提供了三种安装方式:
第一种:通过Homebrew,如果fastlane与jenkins结合使用可以使用brew安装,先安装homebrew,在安装fastlane,然安装jenkins,fastlane与jenkins结合使用。
第二种:下载fastlane包,运行包里面install进行安装,执行install的时候会被阻止,需要在安全性与隐私设置,还有一个问题下载的包可能不是最新版,在使用的时候提示要更新,这里更新没有成功,所以不建议使用。
第三种:本文使用的方法,安装ruby之后,在命令行输入:
sudo gem install fastlane -NV
即可安装,安装完成后执行:
fastlane -v
可查询当前安装版本:
三、项目使用fastlane
1、在终端打开你的iOS项目文件.xcodeproj所在的文件夹
cd xxx
执行fastlane初始化,命令:
fastlane init
会出现一下提示:想要做什么?因为要打包企业级项目所以这里选择4, 如果选择3,需要输入Apple ID等相关信息,如果ID是企业级账号会提示init 失败。
选择4之后,会提示回车继续,完成之后项目文件夹中会多出一个fastlane文件夹,文件中包含Appfile,Fastfile两个文件
分别对两个文件的内容设置:
Appfile:主要是app_identifier和apple_id
Fastfile:
都配置完成之后,在终端输入
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
之后在打包的时候就可以了,不知道原理:
四、遇到的错误
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”即可。