fastlane自动化打包

由于每天都要给测试打包,实在太过麻烦,所以就试着用fastlane自动打包到蒲公英,果然相比以前手动打包,方便了不知道多少.fastlane是一套使用Ruby写的自动化工具集,用于iOS和Android的自动化打包、发布等工作,可以节省大量的时间。目前fastlane在github上已经有2W+颗星,只能膜拜一下大神.fastlane有很多的功能,具体可以在github上查看,目前我只用到了自动打包到蒲公英的功能,以后功能再具体研究.

  • github

安装

  • 1.打开终端,首先要安装正确的 Ruby 版本,在终端窗口中用下列命令来确认:
    ruby -v

  • 2.然后检查 Xcode 命令行工具是否安装。在终端窗口中输入命令:
    xcode-select --install
    如果未安装,终端会开始安装,如果报错误:command line tools are already installed, use "Software Update" to install updates.代表已经安装。

  • 3.以上依赖配置好之后就可以通过 rubygem 进行安装了:
    加上 -n /usr/local/bin是因为Mac OS X 10.11 已经禁止修改/usr/bin目录了
    sudo gem install fastlane
    sudo gem install fastlane -n /usr/local/bin

等待一会就安装成功

初始化fastlane

    1. cd到你工程目录下执行:
      fastlane init
  • 2.这里会弹出四个选项(如图1),问你想要用Fastlane做什么? 这一步选什么好像都没什么关系.


    fastlane自动化打包_第1张图片
    图1
  • 3.接下来让会让你输入苹果账号密码,跟着输入就行了.接着输入y,等待安装完成.安装完成之后,你的工程目录里就会多一个fastlane文件(如图2),


    fastlane自动化打包_第2张图片
    图2.png

    里面的Appfile文件,保存的是苹果账号信息,Fastfile文件就是我们需要操作的文件.

自动化打包上传到蒲公英

蒲公英有专门的文档来教学fastlane一键上传到蒲公英.
蒲公英fastlane文档

    1. 在终端中,输入以下命令,即可安装蒲公英的 fastlane 插件。
      fastlane add_plugin pgyer
      稍等一会即可安装成功
    1. 打开工程目录中,我们生成的fastlane文件,打开其中的Fastfile,把文档中的lane加进去.类似于图3,红框中的区域,把下面的ap_key,user_key换成蒲公英里你自己的key


      fastlane自动化打包_第3张图片
      图3.png
  • 3.终端执行一下命令,即可自动打包上传到蒲公英. 这个名字跟刚才自己自定义的lane名字一定要对应.
    fastlane ADhoc

接着就是等待它自己打包上传到蒲公英了,完全不用人工操作.出现如图4表示的,即代表上传成功了.另外上传成功的时候,如果绑定了手机,蒲公英也会发短信和邮件过来的.


fastlane自动化打包_第4张图片
图4.png

自动化打包上传到firim

    1. 前面的步骤安装fastlane都是一样的,只需要添加firim插件,添加lane就可以了.在终端输入命令.

fastlane add_plugin versioning
fastlane add_plugin firim

  • 2.打开Fastfile,添加lane,替换成自己的APIToken
  desc "上传到firim"
  lane :firim do    
  # 如果你用 pod install
  #cocoapods(use_bundle_exec: false)
  # 如果你没有申请adhoc证书,sigh会自动帮你申请,并且添加到Xcode里
  #sigh(adhoc: true)
  # 以下两个action来自fastlane-plugin-versioning,
  # 第一个递增 Build,第二个设定Version。
  # 如果你有多个target,就必须指定target的值,否则它会直接找找到的第一个plist修改
  # 在这里我建议每一个打的包的Build都要不一样,这样crash了拿到日志,可以对应到ipa上
  
  # gym用来编译ipa
  gym(
    output_directory: './firim',
    export_options: {
      method: "ad-hoc", # 这可以不指定
    },
    scheme: "your Project"  
    )
  # 上传ipa到fir.im服务器,在fir.im获取firim_api_token
  firim(firim_api_token: "your token")
  end

scheme 是你的工程名
output_directory 是ipa包的存放路径
firim_api_token 是你的firim_api_token 打开firim获取

  • 3.终端执行命令,即可自动打包上传到firim. 这个名字跟刚才自己自定义的lane名字一定要对应.
    fastlane firim

值得一提的是上传firim必须要实名验证才行,否则会打包失败


打包完成之后,在项目工程目录里会出现.ipa和.zip文件.
另外需要提醒一点的事,无论是git还是svn管理代码,最好把这个fastlane文件给忽略掉.还有其他的一些本地配置的文件.这个东西是不需要上传到服务器的.

结尾

至此大致就完成了,自动化打包上传到蒲公英的功能,在实际工作中,确实能节省大量的时间和精力,不用在一直看着它打包,然后手动上传到蒲公英了,另外fastlane其实还是很多其他的用处,感兴趣的还是可以看看fastlane的官方文档多学习. fastlane官网

你可能感兴趣的:(fastlane自动化打包)