与团队分享预览
编辑
了解如何使用 EAS Update 发送 OTA 更新并与团队分享预览。
更新通常修复小错误,并在应用商店发布之间推送小改动。它们允许更新我们示例应用的非原生部分,例如 JavaScript 代码、样式和图像。
在这一章中,我们将使用 EAS Update 与我们的团队分享更改。这将帮助 我们和我们的团队快速分享预览 更改。

1
安装 expo-updates 库
要初始化我们的项目并发送更新,我们需要使用 expo-updates 库。运行以下命令安装它:
- npx expo install expo-updates2
配置 EAS Update
要使用 EAS Update 初始化我们的项目,我们需要遵循以下步骤:
- 由于我们为应用的配置使用动态 app.config.js,因此必须添加
updates和runtimeVersion属性,以使我们的项目与 EAS Update 兼容。运行以下命令从 EAS 获取这些属性及其值,并手动复制到 app.config.js:
- eas update:configure非动态(app.json)项目怎么办?
如果一个项目不使用动态应用配置(使用 app.json 而不是 app.config.js),上述命令将配置我们的应用以与 EAS Update 兼容,并将正确的属性添加到 app.json 和 eas.json。
- 重新运行
eas update:configure以继续设置过程。每个构建配置文件中都应添加channel到 eas.json:
{ "build": { "development": { %%placeholder-start%%... %%placeholder-end%% "channel": "development" }, "ios-simulator": { %%placeholder-start%%... %%placeholder-end%% }, "preview": { %%placeholder-start%%... %%placeholder-end%% "channel": "preview" }, "production": { %%placeholder-start%%... %%placeholder-end%% "channel": "production" } } %%placeholder-start%%... %%placeholder-end%% }
请注意,eas update:configure命令将channel添加到 eas.json 中的每个构建配置文件中。然而,我们的ios-simulator配置文件扩展了development配置文件,拥有一个单独的channel是没有意义的。我们可以安全地从上述配置中删除ios-simulator.channel。
什么是 channel?
Channel 用于将构建分组在一起。如果我们有一个 Android 和一个 iOS 构建,两个都在应用商店中,我们可以将它们都给予生产 channel。稍后,我们可以告诉 EAS Update 以目标生产 channel,因此我们的更新将影响所有具有生产 channel 的构建。
3
4
修改应用的 JavaScript 代码
让我们修改示例应用的 JavaScript 代码。如果您没有使用 Sticker Smash 应用,您可以修改代码的任何部分,以查看应用中的更改。
我们将修改示例应用中第一个按钮的文本,将 选择照片 更改为 选择照片。
<Button theme="primary" label="Select a photo" onPress={pickImageAsync} />
5
发布更新
我们不想要创建一个新构建与团队分享此更改进行测试,而是让我们发布一个更新:
- eas update --channel development --message "Change first button label"在上述命令中,我们使用了 development channel。每次更新都与 channel 名称 相关联。这类似于我们用 git 进行的每次提交,与一个 git 分支相关联。
因此,通过在我们的构建配置文件中使用 development channel,然后发布更新,我们要求 EAS 将此更新发送到具有 development channel 的构建。当我们创建 EAS Update channel 时,它自动与同名的分支映射。
更新发布后,CLI 将提示我们有关它的信息。
点击 Website link ,在 EAS 仪表盘的 Over-the-air updates > Update groups 下查看更新:
6
7
总结
第十章:与团队分享预览
我们成功配置了 EAS Update,以便跨平台管理和发布无线更新,并探索了获取更新以进行审核的方法。
在下一章中,了解如何从 GitHub 存储库触发构建。