为 iOS 设备创建并运行云构建

编辑页面

了解如何使用 EAS Build 为 iOS 设备配置开发构建。


For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.

在本章中,我们将创建一个可以通过 EAS Build 在 iOS 设备上运行的开发构建。

iOS 设备的开发构建采用 .ipa 格式生成,这是 iOS 应用安装的标准格式。

观看:为 iOS 实体设备创建开发构建
观看:为 iOS 实体设备创建开发构建

了解如何使用 EAS Build 在实体 iOS 设备上构建并运行开发构建,包括设置代码签名。


前提条件

在开始之前,请确保你已具备:

  • Apple Developer Account: 这是访问用于为应用签名的 必要凭据 的前提,因为每个构建都需要签名以验证应用来自可信来源。EAS Build 有助于管理这些凭据。
  • 在 iOS 16 及更高版本上启用开发者模式: 在设备上安装开发构建需要启用 Developer Mode。如果这是你第一次使用,或者当前处于禁用状态,请参阅这些说明以启用开发者模式

配置文件

要在 iOS 设备上开始开发,我们需要:

  • 通过创建新的 配置文件 来注册设备。
  • 将此配置文件下载并安装到设备上。

1

注册 iOS 设备

使用 EAS CLI,运行命令来注册新的 Apple 设备:

Terminal
eas device:create

此命令会提示我们回答以下问题:

  • You're inside the project directory. Would you like to use the your-account-name account?Y
  • Apple ID. 在这一步中,输入你的 Apple ID。随后它会登录到我们的 Apple Developer account。请按照终端窗口中的步骤操作。
  • How would you like to register your devices? 选择 Website,这会生成一个可在 iOS 设备上打开的注册链接。
提示:如果你或你的团队有多台设备,可以将配置文件链接分享给这些设备,以便下载并安装该配置文件。

2

下载并安装配置文件

在设备的浏览器中,打开上一步提供的链接,并点击 Download Profile button

打开 Settings 应用,这会提示我们注册设备。

点击 Install 来注册 iOS 设备。

配置文件安装完成后,我们的设备会跳回网页浏览器,并显示一条成功消息,表示该过程已完成。

iOS 设备的开发构建

1

创建

要在 iOS 设备上创建开发构建,请确保在 build.development 配置下:

  • eas.json 中将 developmentClient 设置为 true,默认配置已经完成了这一点。
  • 然后运行 eas build 命令,指定 ios 作为平台,development 作为构建配置:
Terminal
eas build --platform ios --profile development
提示:下次运行 eas build 命令时,你也可以使用 -p 来指定平台。它是 --platform 的简写。

当我们第一次创建构建时,此命令会提示我们回答以下问题:

  • What would you like your iOS bundle identifier to be?return 选择此提示提供的默认值。如果尚未定义,这将把 ios.bundleIdentifier 添加到 app.json 中。
  • Do you want to log in to your Apple account?。由于我们是第一次创建开发构建,它会要求我们 Generate a new Apple Distribution Certificate。两次都按 Y
  • Select a device for ad hoc build。这就是关键步骤,因此我们之前必须先注册配置文件。我们可以在这里选择一个或全部已注册设备,然后按回车,之后便可以将该构建安装到这些设备上。
仅当你跳过了 iOS 模拟器章节 时: 系统会提示 iOS app only uses standard/exempt encryption?Y 以选择此提示提供的默认值。由于我们的应用不使用加密,它会将 Info.plist 文件中的 ITSAppUsesNonExemptEncryption 设置为 NO,并在你将应用发布到 TestFlight/Apple App Store 时负责处理相应的合规检查。当你发布自己的应用且它使用加密时,下一次可以选择 N 以跳过此提示。

回答完后,构建将进入队列,我们可以通过 EAS CLI 提供的链接在 EAS 仪表盘中跟踪其进度:

构建详情页面包含什么?

构建详情页面会显示构建类型、配置、Expo SDK 版本、应用版本、构建号、最后一次提交哈希,以及发起构建的开发者或账户所有者身份。

在上图中,Build artifact 的当前状态显示构建正在进行中。完成后,此部分将提供下载构建的选项。Logs 会概述 EAS Build 上 iOS 构建过程中执行的每一步。为了简洁起见,这里我们不会逐步展开每一步。要了解更多,请参阅 iOS 构建过程

什么是 iOS bundle identifier?

ios.bundleIdentifier 是我们应用的唯一名称。如果我们现在发布应用,Apple App Store 会使用这个属性及其值来在商店中识别我们的应用。

这种命名格式定义为 host.owner.app-name。例如,我们的示例应用使用的是 com.owner.stickersmash,其中 com.owner 是域名,stickersmash 是我们的应用名称。

2

安装

构建完成后,Build artifact 部分会更新,表示构建已完成:

这一部分提供了在 iOS 设备上运行开发构建的可用方法:Expo Orbit 和 Install 按钮。

Expo Orbit 可以让你在 iOS 设备上无缝安装开发构建。使用此方法:

  • 使用 USB 将 iOS 设备连接到开发机器。
  • 打开 Orbit 菜单栏应用。
  • 在 Orbit 应用中选择 Device
  • 在 EAS 仪表盘中,位于 Build artifact 下,点击 Open with Orbit

构建安装完成后,Orbit 应用会在设备上启动该开发构建。

替代方案:使用 Install 按钮和二维码

Build artifact 部分中的 Install 按钮会生成一个二维码,便于安装:

  • 点击 Install,显示包含二维码的弹窗。
  • 使用 iOS 设备的相机扫描二维码,打开链接并点击以在设备上下载开发构建。

3

运行

在项目目录中运行 npx expo start 命令,启动开发服务器:

Terminal
npx expo start
  • 在设备上,点击应用图标打开开发构建。
  • 通过确保我们同时登录了 EAS CLI 和开发构建,使用账户同步功能。既然我们已经登录了 EAS CLI,下一步就是通过开发构建的界面登录。
  • 点击 Fetch development servers,并从 Development servers 下方的列表中选择正在运行的服务器。

总结

Chapter 4: Create and run a cloud build for iOS device

我们已成功使用 EAS Build 在 iOS 设备上创建并运行开发构建。

在下一章中,学习如何配置我们的应用配置,以便在单个设备上安装多个应用变体。

Next: 配置多个应用变体