作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
弗朗西斯科·雷诺兹的头像

旧金山雷诺兹

Francisco是一位在iOS和Node方面拥有丰富经验的技术领导者.Js,以及web项目开发.

专业知识

以前在

Cookunity
分享

为iOS开发软件不仅仅是编写Objective-C或Swift代码:它还包括了解UIKit的工作原理, 证书是如何制作的, 如何将应用发布到商店, 如何处理应用评论, 和更多的. 如果你觉得这个没完没了的任务列表很累,那么在你的工作流程中加入一些自动化正是你所需要的.

满足 Fastlane,该工具旨在为您在每次部署中节省几分钟甚至几小时.

使用《欧博体育app下载》iOS实现交付自动化

Fastlane可以帮助你自动化向Crashlytics发送测试版本的过程, TestFlight, App Store, 还有更多.

在本文中, 您将学习如何使用Fastlane自动化iOS应用程序部署工作流. 尽管我们将重点放在这个工具的iOS方面, Fastlane同样适用于Android开发自动化.

《快速通道入门

有几种安装方法可供您选择, 看你觉得什么最简单. 如果你有 家酿 安装和配置Fastlane只需要一个命令:

酿酒桶安装快车道

否则,Fastlane作为一个基于ruby的工具, 宝石 总是一个选项:

sudo 宝石 install fastlane -NV

或者,你也可以从 官方网站.

一旦你安装了Fastlane,运行 fastlane init 在您的项目目录中,并按照说明操作.

自动化部署

安装Fastlane后, 现在,您可以编写Ruby脚本来一步一步地指示您需要做些什么才能使您的部署达到您想要的位置. 这是通过动作、工具和通道完成的.

快速通道工具、动作和插件

《欧博体育app下载》的核心工具能够帮助你构建应用. 在构建工具之上, 有超过170个内置集成服务,如Crashlytics, HockeyApp, TestFlight, 还有更多第三方制作和发布的插件,这样你就可以连接到其他服务等等.

其核心是, 你会得到主要的工具,让你做各种各样的任务:从自动截图到将它们框起来并上传到商店, 它让你在构建应用程序之前自动运行所有测试.

行动 《欧博体育app下载》的核心工具是什么, 和插件是一种添加第三方操作到你的Fastlane设置的方法.

车道

《欧博体育app下载》使用的车道基本上是将一系列行动或插件按顺序分组,这样你每次都可以获得相同的结果.

在车道上行驶时, 每个操作将导出一个环境变量, 下面的操作将自动获取这些变量以保持流程继续进行. 例如,使用 健身房 操作将导致的路径 .异丙醇 文件正在生成,并使用 crashlytics 将访问这个 .异丙醇 上传此文件到beta服务分发系统的位置.

在iOS平台上使用《欧博体育app下载》

您从一个新的Toptal客户开始,他想要一个非常简单的应用程序. 设计已经完成,应用程序可以在几周内编码. 下一步是开始编写代码, 在迭代过程中, 你要每隔几周向客户发送一个测试应用,这样他们就可以看到你的进展,并向你反馈情况.

每次你给客户发送一个测试版, 你将通过一个基本的检查表:签署应用程序, 把它上传到测试服务, 向它添加新版本, 等. 除此之外,您还必须做一次(每年):签署证书, 签署推送通知证书(如果需要), 和更多的.

在《欧博体育app下载》中,所有这些都可以自动发生!

发送到Crashlytics Beta

例如, 你需要创建签名证书和配置文件,通过Crashlytics Beta共享你的应用.

Fastlane有一个动作叫做 匹配 一旦你设置好它,它会做以下事情:

  1. 创建分发签名证书.
  2. 创建一个临时配置文件(附加到#1中的证书上).
  3. 将#1和#2中的证书和配置文件保存到使用OpenSSL加密的Git存储库中.

设置很简单.

首先,运行 快车道匹配初始 来开始,一旦你设置了你的Git仓库,只需调用 快车道比赛特设 获取临时配置文件或运行 快车道匹配appstore 获取App Store证书.

使用的优点 匹配 您是否可以很容易地在计算机之间和团队成员之间同步证书,而不必再撤销证书, 以及你获得的速度. 只是跑 快车道匹配appstore 几秒钟后就会给你一个证书.

好了,现在我们有了所需的证书和配置,让我们发布到Crashlytics.

将应用提交到Fabric的Crashlytics的典型工作流程包括以下步骤:

  1. 创建分发签名证书.
  2. 创建一个临时配置文件(附加到#1中的证书上).
  3. 设置您的应用程序以使用#2中的配置文件.
  4. 存档你的应用.
  5. 打开Fabric并按照步骤将应用程序发送给beta测试者.

《欧博体育app下载》用以下内容取代了这一苦差事:

平台:ios do
  Lane:beta do
    匹配(类型:“特别的”)
    健身房
    crashlytics
  结束
结束

现在,运行 fastlaneβ 从您的终端将启动此脚本.

这将首先调用 匹配, 处理创建和更新签名证书和配置文件的操作, 然后调用 健身房, 一个为你构建和打包应用的动作, 使用之前创建的相同证书和配置文件, 最后, crashlytics也就是把这个带符号 .异丙醇 并将其上传到Crashlytics服务.

所有这些步骤都会被调用, 总是, 以同样的顺序, 使生成的文件更可预测并减少错误.

MacBook-Pro:TestProject用户$ fastlaneβ

+------+-------------------------------------+-------------+
|快车道总结|
+------+-------------------------------------+-------------+
|步骤|动作|时间(秒)|
+------+-------------------------------------+-------------+
验证所需快车道版本| 0 |
| 2 |比赛| 57 |
| 3 |健身房| 592 |
[4]崩溃分析[195]
+------+-------------------------------------+-------------+

[20:25:13]: fastlane.工具帮你节省了14分钟! 🎉

这就是如何运行《欧博体育app下载》并将应用发送给Crashlytics的基本设置. 我们还能自动化什么?

增量构建版本

我们可以, 例如, 设置每次我们都会发送一个测试版, 我们希望增加构建版本号.

这可以通过调用 increment_build_number 可以通过终端调用 快车道运行increment_build_number 或者在我们的beta通道内使用:

平台:ios do
  Lane:beta do
    increment_build_number
    匹配(类型:“特别的”)
    健身房
    crashlytics
  结束
结束

祝贺你! 现在您有了一个自动部署脚本,它也增加了您的构建版本号. 唯一的警告是, 一旦你叫这条车道, 您将在项目(或, 至少, 包含构建号的那些).

以防您打算将更改提交到存储库, 这里有一个动作: commit_版本_bump. 此操作提交带有新版本号的文件.

平台:ios do
  Lane:beta do
    increment_build_number
    匹配(类型:“特别的”)
    健身房
    crashlytics
    commit_版本_bump (
     xcodeproj:“。.xcodeproj”,
   )
  结束
结束

这将在提交文件时显示“Version Bump to 27”这样的提交信息。.

Crashlytics到TestFlight

好吧, 如果你走了这么远, 你可以在很短的时间内自动部署到Crashlytics,从长远来看,这将节省你无数的时间. 最棒的是, 如果你想把你的应用发送到TestFlight, 你所需要做的就是改变 crashlytics to 飞行员.

或者,您可以为此创建一个单独的通道:

平台:ios do
  雷恩:测试用的
    increment_build_number
    匹配(类型:“特别的”)
    健身房
    飞行员
    commit_版本_bump (
     xcodeproj:“。.xcodeproj”,
   )
  结束
结束

iOS自动化变得简单

Fastlane简单易用. 但是,它给你的日常生活带来了惊人的价值 iOS开发 工作流可以节省你做一些琐碎的事情,节省你本来会浪费的时间.

我希望你会觉得这篇关于快速车道的介绍很有用. 你可以看看 官方文档 了解更多关于Fastlane的信息,尤其是 行动 如果你正在寻找一些关于你当前和下一个iOS项目可以自动化的灵感.

了解基本知识

  • 什么是快车道?

    Fastlane是一款为iOS和Android应用自动发布和交付工作流程的工具.

  • 如何安装Fastlane?

    在终端运行“酿酒桶安装快车道”或从http://download下载安装程序.fastlane.工具/

就这一主题咨询作者或专家.
预约电话
弗朗西斯科·雷诺兹的头像
旧金山雷诺兹

位于 布宜诺斯艾利斯,阿根廷

成员自 2016年12月8日

作者简介

Francisco是一位在iOS和Node方面拥有丰富经验的技术领导者.Js,以及web项目开发.

Toptal作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.

专业知识

以前在

Cookunity

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® 社区.