创建和分享内部分发构建
编辑
了解内部分发构建、我们为何需要它们以及如何创建它们。
在本章中,我们将学习如何设置 内部分发构建。

内部分发构建
内部分发构建非常适合与团队成员分享更新,使技术和非技术利益相关者能够直接提供反馈。与开发构建不同,这些构建不需要运行开发服务器,从而简化了测试过程。
内部分发应用的方法
谷歌和苹果都提供内置机制来内部分享应用:
- Android:使用 Google Play beta
- iOS:使用 TestFlight
不过,这两种传统方法都有其局限性。例如,TestFlight 每次只能有一个活动构建。
EAS Build 以更快分发
EAS Build 加快了这一过程。它为我们的构建创建可分享链接,并提供使用说明。它有一个默认配置,旨在促进内部分发,提供比传统方法更高效的替代方案。
创建内部分发构建
要使用 EAS Build 创建和分发构建,我们需要遵循以下步骤:
1
配置预览构建配置文件
从我们在 eas.json 中的初始设置,我们已经拥有包含 preview 构建配置文件的默认配置,旨在用于内部分发:
{ "build": { "preview": { "distribution": "internal" } } }
这就是我们创建首个内部分发构建所需的全部。上面代码片段中的 preview 构建配置文件有一个 distribution 属性,其值设置为 internal。此值允许我们将构建 URL 分享给任何人,以便他们可以在其设备上安装,并且不需要运行开发服务器来使用该应用。
如前几章所述,对于非应用商店构建,Android 需要 .apk 格式,而 iOS 则需要 .ipa 格式。这同样适用于内部分发构建。当 distribution 设置为 internal 时,会自动为设备创建这些文件格式的应用二进制文件。
2
创建
创建内部分发构建需要 应用签名凭证。
Android 应用签名没有限制,允许安装任何兼容的 .apk 文件。当创建开发构建时,会新生成一个 Android Keystore。因此,无需为预览构建生成新 Keystore。
另一方面,苹果对 iOS 设备的应用分发有更严格的规定。我们需要一个明确列出允许运行该应用的设备的临时配置文件。一些符合特定要求的组织可能能够使用 Apple Developer Enterprise Program 在更大范围内内部分发应用。
- 使用
preview配置文件启动 Android 构建:
- eas build --platform android --profile preview- 此命令触发 EAS Build,且在 EAS 仪表板上,我们可以看到构建进度:
使用临时配置文件签名的应用可以被其 UDID 注册在配置文件中的 iOS 设备安装。
- 要注册更多设备,请使用
eas device:create。此命令注册一个 iOS 设备,并给我们一个可以分享的用于设备注册的 URL 或二维码:
- eas device:create-
此命令为应用安装注册一个 iOS 设备,生成一个可分享的 URL(或二维码)用于设备注册。
提示:此命令允许随时进行设备注册。然而,仅会在注册后创建的构建能在新添加的设备上工作。 -
要创建预览构建,我们需要使用
eas build命令与preview配置文件:
- eas build --platform ios --profile preview- 此命令触发 EAS Build,且在 EAS 仪表板上,我们可以看到构建进度:
使用 eas build:resign 注册设备的替代方法
eas build:resign 命令可用于使用新的临时配置文件重新签名现有的 iOS .ipa,避免了完全重建的需求。
您是在设置企业配置吗?
苹果企业计划会员费用为每年299美元,并且 并非所有组织都有资格,因此您可能会使用临时配置,这适用于任何正常的付费苹果开发者账户。
如果您拥有 Apple Developer Enterprise Program 会员,用户可以将您的应用安装到他们的设备上,而无需事先注册其 UDID。只需在其设备上安装配置文件,就可以访问现有的构建。在 eas build 过程中,您需使用您的苹果开发者企业账户登录,以设置正确的配置。
如果您通过企业配置和应用商店分发应用,则每种情况都需要有不同的包标识符。我们建议您选择:
- 在使用 Expo CLI 生成的项目中,使用 app.config.js 动态切换标识符。
- 在 现有的 React Native 项目 中,为每个包标识符创建一个单独的
scheme,并在单独的构建配置文件中指定方案名称。
您在使用手动本地凭证吗?
如果是,请确保将您的 credentials.json 指向通过苹果开发者门户生成的临时或企业配置文件(可以更新用于其他分发类型的现有 credentials.json,或将其替换为指向适当配置文件的新文件)。注意,EAS CLI 对您的本地凭证只进行有限的验证,您需要手动处理设备 UDID 注册。了解更多关于 使用本地凭证。
3
总结
第六章:创建并分享内部分发构建
我们成功地为 Android 和 iOS 创建了内部分发构建,对 iOS 使用了临时配置,并在同一设备上安装了多个应用变体。
在下一章中,了解面向开发者和面向用户的应用版本,以及如何自动管理它们。