Fastlane - Pilot

说明:翻译的 Pilot 的指南, 原文地址

alt text

Pilot

管理你 TestFlight 用户的最简单的方法。

Pilot 让你能够非常容易的管理你应用的 Apple’s TestFlight。你可以:

  • 上传 & 分发 你构建的应用
  • 添加 & 移除 测试用户
  • 获取 测试用户 & 设备 的信息
  • 导出/导入 所有可用的测试用户

pilot 使用 spaceship.airforce 和 iTunes Connect 交互。

pilot 现在是 fastlane 的一部分:自动构建、发布你 iOS 和 Android 应用的最简单方法。

安装

sudo gem install pilot

使用

你可以使用 -u felix@krausefx.com 命令来指定 Apple ID。如果你的项目已经使用了 fastlane ,用户名和 App identifier 会自动检测。

上传构建的应用

上传一个新的构建,只需运行:

pilot upload

将会在你当前目录查找 ipa 文件,然后会尝试从 fastlane setup 中获取登录凭证。

然后会向你询问漏掉的信息。另外,你可以传递所有种类的参数:

pilot --help

你可以使用下面的命令传递修改日志:

pilot upload --changelog "Something that is new here"

你也可以跳过二进制的提交,这意味着,ipa 文件只会被上传,不会分发给测试用户:

pilot upload --skip_submission

pilot 为你做了所有神奇的工作:

  • 从你的 ipa 文件中自动检测 Bundle identifier
  • 基于 Bundle identifier,自动获取你 App 的 AppID

pilot 使用 spaceship 来提交构建的元数据,然后使用 iTunes Transporter 来上传二进制。

列出构建的应用

列出指定应用程序的所有构建:

pilot builds

会列出所有激活的构建和处理中的构建:

+-----------+---------+----------+----------+----------+
|                   Great App Builds                   |
+-----------+---------+----------+----------+----------+
| Version # | Build # | Testing  | Installs | Sessions |
+-----------+---------+----------+----------+----------+
| 0.9.13    | 1       | Expired  | 1        | 0        |
| 0.9.13    | 2       | Expired  | 0        | 0        |
| 0.9.20    | 3       | Expired  | 0        | 0        |
| 0.9.20    | 4       | Internal | 5        | 3        |
+-----------+---------+----------+----------+----------+

管理测试用户

列出所有的测试人员

这个命令会列出所有的测试人员,包括内部人员和外部人员。

pilot list

输出如下:

+--------+--------+--------------------------+-----------+
|                    Internal Testers                    |
+--------+--------+--------------------------+-----------+
| First  | Last   | Email                    | # Devices |
+--------+--------+--------------------------+-----------+
| Felix  | Krause | felix@krausefx.com       | 2         |
+--------+--------+--------------------------+-----------+

+-----------+---------+----------------------------+-----------+
|                       External Testers                       |
+-----------+---------+----------------------------+-----------+
| First     | Last    | Email                      | # Devices |
+-----------+---------+----------------------------+-----------+
| Max       | Manfred | email@email.com            | 0         |
| Detlef    | Müller  | detlef@krausefx.com        | 1         |
+-----------+---------+----------------------------+-----------+

添加新的测试人员

使用 pilot add 命令来为你的 iTunes Connect 账户和应用添加新的测试人员。这个会创建新的测试人员(如果必要的话)或者添加一个已经存在的测试人员到App进行测试。

pilot add email@invite.com

除此之外,你可以指定 App 的 identifier(如果必要):

pilot add email@email.com -a com.krausefx.app

查找一个测试人员

查找一个指定的测试人员:

pilot find felix@krausefx.com

输出结果如下:

+---------------------+---------------------+
|            felix@krausefx.com             |
+---------------------+---------------------+
| First name          | Felix               |
| Last name           | Krause              |
| Email               | felix@krausefx.com  |
| Latest Version      | 0.9.14 (23          |
| Latest Install Date | 03/28/15 19:00      |
| 2 Devices           | • iPhone 6, iOS 8.3 |
|                     | • iPhone 5, iOS 7.0 |
+---------------------+---------------------+

移除一个测试人员

这个命令只会移除外部的测试人员:

pilot remove felix@krausefx.com

导出测试人员

将所有的外部测试人员导出到 CSV 文件。这个非常有用,如果你需要将测试人员的信息导入到另一个系统或者新的账户。

pilot export

导入测试人员

从一个 CSV 文件中添加外部测试人员。这里有一个可用的 CSV 文件

pilot import

你也可以使用下面的命令来指定目录:

pilot export -c ~/Desktop/testers.csv
pilot import -c ~/Desktop/testers.csv

提示

fastlane 工具链

  • fastlane :自动化构建和发布你 iOS 和 Android 应用程序的最简单方法
  • deliver :将你的应用、截图、元数据上传到App Store
  • snapshot :将你iOS应用在每一种设备上进行本地化自动截图
  • frameit :快速将你的截图放入到适合的设备框中
  • pem 自动生成和更新你的推送通知证书
  • sigh :管理你的 provisioning profiles
  • produce :使用命令行工具在 iTunes Connect 和 Dev Portal 上创建新的iOS应用
  • cert :自动创建和维护iOS的 code signing certificates
  • spaceship :一个 Ruby library,自动连接 Apple Dev Center 和 iTunes Connect
  • boarding :邀请你 TestFlight 的beta测试人员的最简单方式
  • gym :构建你iOS应用程序
  • scan :为你iOS和Mac应用运行测试的最简单方法
  • match :使用Git在你的团队中同步你的 certificates 和 profiles
  • supply :将你的Android应用和数据上传到 Google Play
  • screengrab :Android版snapshot,一样的功能

调试信息

如果你遇到了什么问题,你可以使用 verbose 模式来获取更多细节的输出:

pilot --verbose

防火墙问题

pilot 使用 iTunes Transporter 上传元数据和二进制。以防万一被防火墙挡住,你可以指定不同的传输协议,使用如下命令:

DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV" pilot ...

如果你使用 pilot 通过 fastlane action ,添加如下代码到你的 Fastfile

ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"] = "-t DAV"
pilot...

凭证问题

如果你的密码包含特殊字符,pilot 可能会抛出一个模糊的错误,“你的 Apple ID 或者 密码输入不正确”。最简单的修复方法就是修改你的密码,不包含特殊字符。

如何保存我的密码?

pilot 使用来自 fastlaneCredentialsManager 管理密码。

帮助

请提交 issue 到 GitHub,并提供你关于设置的信息。

坚持原创技术分享,您的支持将鼓励我继续创作!