iOS--利用Fastlane实现自动化打包

前言

  在平常的开发工做中给测试同窗打包测试是很正常的流程,可是每次都经过Xcode archive来生成测试包而后再导出,而后在上传到三方测试网站(蒲公英、fir等),一次两次感受没有什么。可是一次次从新打包,以后就是所有重复无心义的工做,就会感受很烦了,因而我想到了用自动化打包来讲实现这个工做。api

Fastlane是什么?

  Fastlane是一套很是实用而强大的组件,是用Ruby语言编写的一套自动化工具集和框架,其目的主要是为iOS和Android应用程序自动化测试部署和发布的最简单方法。它处理全部繁琐的任务,如生成屏幕截图,处理代码签名以及发布应用程序。xcode

安装使用过程

一、安装

  使用sudo gem install fastlane -NV或是brew cask install fastlane,这里使用gem安装的话须要注意一下淘宝ruby镜像已经不在更新,之前用过淘宝镜像的小伙伴须要更换为Ruby China 镜像。参考这里,安装过程可能须要一段时间,请耐心等待。ruby

二、初始化Fastlane

  cd到你想要自动化打包的项目下 bash

image.png

  执行 fastlane init初始化,首先你须要输入你的开发者帐号,若是你的appleid归属多个开发者帐号的话根据需求选择一个回车继续,以后回提示输入密码并进行双重认证,根据提示输入便可。 app

image.png
  接下来会让你输入App Identifier ,填入相应的id便可。
image.png
  输入App名称。
image.png
  到这里就证实fastlane已经初步配置到你的项目当中了。
image.png

三、设置相关配置文件

  上面几步执行顺利的话你的项目里面会多一个fastlane文件夹,如图所示。 框架

image.png
  咱们自动化测试的最重要的部署文件就是这个Fastfile文件,双击编辑,这里面每个lane均可以配置一种打包方式。
image.png

  咱们在这里新增一个咱们本身须要的lane。工具

desc "打包到pgy"
  lane :test do |options|
  gym(
    clean:true, #打包前clean项目
    export_method: "development", #导出方式
    scheme:"shangshaban", #scheme
    configuration: "Debug",#环境
    output_directory:"./app",#ipa的存放目录
    output_name:get_build_number(),#输出ipa的文件名为当前的build号
    # Xcode9将不会容许你访问钥匙串里的内容,除非设置allowProvisioningUpdates
    export_xcargs:"-allowProvisioningUpdates",
    # 隐藏没有必要的信息
    silent:true,
    # 手动配置证书,注意打包方式需在export_options内使用method设置,不可以使用export_method
    export_options: {
        method:"development",
        provisioningProfiles: {
            "xxxxxx":"xxxxxx",
	    "xxxxxxx":"xxxxxxx"
            },
        }
    )

  pgyer(api_key: "xxxxx", user_key: "xxxx",update_description: options[:desc])
  end
复制代码

  蒲公英api_key、user_key获取方式。   这里的provisioningProfiles数据须要特别说明一下获取方式,在xcode里面点击product--》archive: 测试

image.png
image.png
image.png
image.png
  导出以后打开ExportOptions文件。
image.png
image.png

  将上面红框部分对应到provisioningProfiles里面的值填进去就OK。   而后再终端输入fastlane add_plugin pgyer安装蒲公英相关插件: 网站

image.png
  根据提示输入sudo gem install unf_ext -v '0.0.7.5'命令回车:
image.png

四、运行打包并上传

  在项目目录下面执行fastlane test,发现提示错误: ui

image.png
  去项目buildsetting设置:
image.png
  而后再执行fastlane test,而后等待打包完成。

image.png
  搞定,快让测试同窗去下载吧。
相关文章
相关标签/搜索