阅读 311

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

前言

  在日常的开发工作中给测试同学打包测试是很正常的流程,但是每次都通过Xcode archive来生成测试包然后再导出,然后在上传到三方测试网站(蒲公英、fir等),一次两次感觉没有什么。但是一次次重新打包,之后就是全部重复无意义的工作,就会感觉很烦了,于是我想到了用自动化打包来说实现这个工作。

Fastlane是什么?

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

安装使用过程

1、安装

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

2、初始化Fastlane

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

image.png

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

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

3、设置相关配置文件

  上面几步执行顺利的话你的项目里面会多一个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

4、运行打包并上传

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

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

image.png
  搞定,快让测试同学去下载吧。

关注下面的标签,发现更多相似文章
评论