• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

iOS版fastlane简介持续交付

iOS版fastlane简介持续交付  第1张

介绍

ios 开发人员有幸享受并使用 Apple 提供的强大开发平台,主要是 Xcode。这有助于激发当今消费者在 App Store 上喜欢的引人入胜且功能强大的应用程序。Xcode 提供了一个直观的 IDE,再加上swift作为一种真正现代的编程语言的出现,使得在平台上进行编程成为一种纯粹的享受。

然而,虽然工作流程的开发方面具有凝聚力,但在涉及处理代码签名和分发应用程序所涉及的琐事时,工作流程就会崩溃。这一直是该平台长期存在的问题,虽然它已经逐步改进,但它仍然是几乎所有开发人员的瓶颈。这在许多方面扼杀了应用程序的持续交付——也就是说,每天在内部和外部手动构建和分发应用程序的需求容易出错且费力。 

这就是 fastlane的 用武之地。fastlane 工具套件使分发应用程序变得更加容易,允许开发人员专注于他们的应用程序,并让工具承担管理配置文件和证书以及构建、打包和分发应用程序等任务。fastlane 的工具链之一是客户端自动化的持续交付交钥匙解决方案,iOS 开发人员可以利用它来确保他们的应用程序得到其他人的持续测试和验证,而人工干预最少。 

iOS版fastlane简介持续交付  第2张

fastlane 由Felix Krause ( @krausefx ) 开发,由一套开源工具组成,通过命令行统一构建和部署 iOS 应用程序的自动化,以及与各种第三方库以及 Apple 自己的api集成s。作为 iOS 开发人员中某种狂热的工具链,并得到 Google 的支持,fastlane 将通过自动化您每天和每周的大量手动任务来为您节省大量时间。

在本教程中,我们将探索 fastlane 的两个非常流行的功能:代码签名和打包/分发应用程序。

本教程的目标

本教程将向您介绍 fastlane 工具链,并向您展示如何利用该工具来自动化和优化您的 iOS 开发工作流程。你将学习:

  • fastlane 入门基础知识

  • 对您的应用进行代码签名

  • 打包和分发您的应用程序

假设知识

本教程假设您具备 Swift 和 iOS 开发的工作知识,但您不会在本教程中进行任何 Swift 编码。您将使用命令提示符来构建和运行 fastlane 命令。 

快速通道入门

fastlane 工具链本质上是用 Ruby 编写的,通过spaceship  Ruby 库连接到 Apple 开发者中心和itunes Connect API  ,安全地对用户进行身份验证和授权。它围绕创建称为 Fastfile 的配置文件进行操作,您可以将其视为一个配方文件,您可以在其中设置在构建应用程序时要执行的操作。这些动作被组织成“通道”。例如,您将配置一个通道用于部署到 App Store,并配置另一个通道用于分发到 TestFlight。一个通道可以由以下单个动作组成:

  1. 构建你的项目

  2. 增加内部版本号

  3. 运行单元测试

  4. 将您的.ipa发送到 TestFlight

  5. 向您的团队发送松弛消息

您可以将通道视为对相关任务进行分组的功能。您甚至可以从另一个调用通道方法,以进一步解耦和重用您的通道。 

但在我们深入了解 fastlane 操作之前,您需要设置环境以使用 fastlane。

设置快车道

确保您安装了最新版本的 Xcode。您还需要在系统上安装 Xcode 工具。您可以通过在终端中输入以下内容来检查是否安装了 Xcode Tools:

xcode-select -p

如果您取回开发者文件夹的完整路径,那么您就可以开始了。您应该会看到类似以下内容。

$ /Applications/Xcode.app/Contents/Developer

否则,让我们通过在终端中键入以下内容来获取最新版本的 Xcode 命令行工具:

xcode-select --install

您应该会收到类似于以下内容的提示: 

iOS版fastlane简介持续交付  第3张接下来,您将需要安装 homebrew。homebrew是一个强大的包管理器,可以让你安装数百个开源工具,其中包括 fastlane。要安装 Homebrew,请在命令行中键入以下内容:

/usr/bin/ruby -e "$ ( curl -fsSL https://raw.githubusercontent.com/

设置 Homebrew 后,您可以通过输入以下命令安装 fastlane:

brew cask install fastlane

请注意,如果您不想安装 Homebrew,您可以通过 ruby 直接在终端中安装 fastlane,方法是输入以下内容:

sudo gem install fastlane -NV

要确认fastlane 已在您的系统上安装并准备就绪,请在终端中输入以下命令以初始化新的 fastlane 配置文件:

fastlane init

系统将提示您输入您的 Apple ID,以便 fastlane 可以无缝连接到 iTunes Connect。填写任何其他提示问题,您将看到为您创建的新 /fastlane 子目录。您将主要关注 /fastlane/Fastfile 配置文件,您将在其中编排所有 fastlane 操作。 

快速浏览一下文件。您将在接下来的几节中使用它,首先配置 fastlane 以对您的应用程序进行代码签名。 

对您的应用程序进行代码签名

fastlane 作为工具链最受欢迎的功能之一是能够自动对您的应用程序进行代码签名,避免了必须处理证书和配置文件的痛苦。这可能需要大量工作,此外,当您更换机器或加入新的团队成员时,您必须从头再来。Fastlane 提供了三个操作来帮助您管理代码签名:  cert、  sigh和 match。 

cert虽然本身很有用,但通常与 sigh 协同工作,通过分别管理您的证书和配置文件来完成对应用程序进行代码签名的过程。它不仅为您创建证书,而且会在需要时自动生成新的私钥签名请求,以及检索证书并将其安装到您的钥匙串中,确保每次运行证书时您的证书都是有效的。 

sigh 为开发、Ad Hoc 或 App Store 的证书创建相应的配置文件。与 cert 一样,sigh 可确保此配置文件保持最新、可检索并安装到您的钥匙串中。这两者共同构成了您的应用程序的代码签名对。但在你学习如何使用 cert 和 sigh 之前,我还要介绍一个相关的操作:  match。 

match结合了前面的两个操作,但允许您通过您自己的GitHub存储库安全且私密地 在您的团队或多台机器之间共享您的代码签名身份,创建所有必要的证书和配置文件,以便新成员可以通过以下方式获取这些凭据只需调用 fastlane 命令 match。有关匹配概念的更多信息,请参阅 新方法代码签名指南。

要开始使用证书,请运行以下命令: 

fastlane cert

同样,运行 sigh:

fastlane sigh

如果您想查看 cert 或 sigh 提供的选项列表,可以使用以下命令执行此操作:

fastlane action cert
...
fastlane action sigh

除了临时运行这些命令外,您还可以在我之前提到的 Fastfile 配置文件中包含一个或两个操作作为自动化工作流程的一部分:

lane :TestApp do
  cert # or the alias get_certificates
  sigh # or the alias get_provisioning_profile
end

然后,您可以通过发出以下命令来运行整个通道:

fastlane TestApp

通过两条简单的线路,您现在可以从为您创建并自动维护您的证书和配置文件中受益。接下来,您将深入了解 fastlane 如何帮助打包和分发您的应用程序。

打包和分发您的应用程序 

接下来您将了解的两个操作是 gym 和 deliver,您将利用它们来构建、打包和分发您的应用程序到 TestFlight 或 App Store。 健身房 通过单个命令行构建和打包您的应用程序,为您生成签名的 ipa 文件。 

通过将此作为 Fastfile 的一部分自动化,您可以通过持续集成工作流程触发构建和打包,并每天或每小时将最新版本的应用程序提供给用户。要通过 fastlane 打包您的应用程序,您只需运行:

fastlane gym

要指定特定的工作区和方案,您可以添加以下可选参数:

fastlane gym --workspace "YourApp.xcworkspace" --scheme "AppSchemeName"

就像Fastfile一样,fastlane 提供了一个名为Gymfile的便捷配置文件,您可以在其中存储所有特定于构建的命令,例如工作区、方案等,从而节省您每次都必须输入或在Fastfile配置中公开它的麻烦文件。要创建一个新的Gymfile,只需输入以下内容:

fastlane gym init

然后,您可以编辑该文件并输入项目所需的配置参数。

接下来 ,通过分发您的.ipa文件,而无需通过 Xcode , deliver 接管了健身房的工作。作为健身房的对应物,deliver 不仅能够交付您的.ipa二进制文件,还可以为您将屏幕截图和元数据上传到 iTunes Connect,以及将您的应用程序提交到 App Store。 

该操作还可以从 iTunes Connect 下载您现有的屏幕截图和元数据。最简单的动作命令是调用:

fastlane deliver init

最终结果是元数据和屏幕截图文件夹以及配置文件Deliverfile,类似于 Gymfile和Fastfile。 

iOS版fastlane简介持续交付  第4张然后,您可以修改这些子文件夹的内容以修改您的应用元数据。要上传元数据,请运行:

fastlane deliver

要提交您的应用以供审核,请附加以下参数:

fastlane deliver --ipa "App.ipa" --submit_for_review

要下载元数据或屏幕截图,请分别添加以下参数:

fastlane deliver download_metadata 
... 
fastlane deliver download_screenshots

您可以在 /screenshots 子文件夹中修改您的屏幕截图,但 fastlane 提供了另一个操作,可以自动为您生成屏幕截图的过程。虽然 截图 超出了本文的范围,但您可以在以后的快车道文章中了解它。 

与之前的一组操作一样,您可以运行 gym 并自行交付,也可以将其作为自动化工作流程的一部分包含在 Fastfile 中:

lane :TestApp do cert sigh gym(scheme: "AppSchemeName", 
workspace: "YourApp.xcworkspace") # alias for "build_ios_app" slack end

结论

通过自动化实现持续交付,fastlane 为 iOS 开发人员减轻了劳动负担,提供了用于构建、打包、分发、代码签名、屏幕截图生成等的一键式交钥匙解决方案。本教程只是简单介绍了fastlane的可能性,在后续文章中,我们将探索您可以实施的更多操作,以进一步自动化和优化您的工作流程。 


文章目录
  • 介绍
  • 本教程的目标
  • 假设知识
  • 快速通道入门
    • 设置快车道
  • 对您的应用程序进行代码签名
  • 打包和分发您的应用程序
  • 结论