iOS点点滴滴iOS开发攻城狮的集散地iOS 开发每天分享优质文章

iOS Fastlane 自动化打包进阶(上传AppStore、

2018-05-16  本文已影响39人  calary

一、前言

在上一篇文章iOS Fastlane 自动化打包初探中我们介绍了fastlane的一些简单用法,其实fastlane还可以实现很多功能。

fastlane

二、实现更多的功能

下面这些工具的用法具体可在对应的文档中查看,文档讲解的很详细,在配合多次练习,肯定会用的得心应手

实际上fastlane是一套工具集,包含如下工具:

  1. 测试工具

scan:自动运行测试工具,可以生成漂亮的HTML报告

  1. 生成证书、配置文件工具

cert:自动创建iOS代码签名证书(.cert文件)

sigh:自动创建、更新、下载、修复Provisioning Profile

pem:自动生成、更新推送配置文件

  1. 截图、描设备边框

deliver:上传截图、元数据、App到iTunesConnect

snapshot:使用UI test功能实现自动截图

frameit:在截图的图片外层套上物理设备边框

  1. 自动化编译工具

gym:自动化编译工具

三、一键上传AppStore

激动人心的时刻来临了,终于不用一顿操作,各种选择等待,最后提交审核了,现在我们可以一条指令完成以前的所有工作,开始吧。

// 在项目根目录执行
$ fastlane deliver init

如果你输入过Apple ID 那么会直接登录iTunes Connect 并下载所需数据,如果没有输入过会让你输入Apple ID,照做就是了。
然后你会发现文件发生了如下变化。


image.png
desc "上传新版本到 App Store"
  lane :release do
  # 增加build版本号
  #  increment_build_number
    scheme_name = "xxx"  
    # 导出路径
    output_directory = "/Users/xxx/Desktop/IPA_Info"
    #导出名称 
    output_name = "#{scheme_name}_#{Time.now.strftime('%Y%m%d%H%M%S')}.ipa"
    gym(
      export_method: "app-store", #这里填写导出方式 
      export_xcargs: "-allowProvisioningUpdates", 
      scheme: scheme_name,# target的名字
      clean: true, # 在构建前先clean
      output_directory: output_directory,
      output_name: output_name,
    ) 
    # 上传AppStore
    deliver
  end

// 在项目根目录执行
$ fastlane release
deliver(
  submit_for_review: true # 提交审核
)
image.png image.png
// 根目录下执行
$ fastlane deliver download_metadata

四、多target项目实现自动打包

有时候我们的项目可能一套代码有多个target,这个时候怎么实现自动打包我们需要的target呢?其实很简单,如下图我们在想要的target中选择Edit Scheme->shared 勾选,这样在Fastfile中gym配置如下即可,不勾选shared会报错

gym (
    scheme: "target的scheme name", # 此处应该是TargetDemo2 
)
image.png image.png

参考

上一篇下一篇

猜你喜欢

热点阅读