跳转至正文
教程

如何更新 Capacitor JS 应用,而无需反复经过应用商店审核

一份实用的、符合政策规范的指南,教你如何在 iOS 和 Android 上推送 Capacitor JavaScript 更新,而无需为每个小修复都提交完整的 App Store 审核。

如何在不重复通过商店审核的情况下更新 Capacitor JS 应用 Capgo 博客插图

问得好。

我并非在提供法律建议。我只是在分享那些为了确保 Capacitor 应用安全交付,在各团队中被广泛采用的实用方案。

关键的区别在于:

  • 原生提交 对于新的原生行为和重大功能,仍然需要进行审核。
  • Live Updates 用于在现有 App 范围内进行 JavaScript/Web 端的修复和调整。

iOS 和 Android 都可以采用这种模式,但你必须将其视为一种 符合政策的工作流,而非漏洞。

Apple 和 Google 允许什么(通俗版)

你可以将 Apple 和 Google 的界限看作是相似的:

  1. 你可以直接交付由嵌入式 Web 层 (HTML/CSS/JS) 解析的 code,而无需重新提交审核。
  2. 你不应利用该渠道添加会改变 App 用途的重大功能。
  3. 你不应仅通过 JS 来更改关键的安全或分发控制。

Apple 关于 WebKit/JavaScript 更新的官方指南是该模式的核心。Google 对 Web 更新的限制通常较少,但原则相同:将原生变更保留在 Native Build 中。

Capgo 适合做什么

Capgo 适用于:

  • 修复 Web 端 Bug,
  • 安全的 UI 文案、样式或流程修复,
  • 现有页面的轻量逻辑修正,
  • 面向内部 QA 的快速实验。

Capgo 不适用于:

  • 添加权限或新的 Native 能力,
  • 发布需要经过审核的核心功能,
  • 更改签名、加密或包身份行为。

请按两条路径思考:

方案 1:原生通道(应用商店审核)

以下情况请走常规的 Capacitor 发布流程:

  • 新的插件更新,
  • App Shell 或 manifest 变更,
  • 权限更新,
  • 平台特定功能变更。

这些需要:

bun run build
bunx cap sync
# then App Store / Google Play submission flow

方案 2:JS 通道(Capgo)

对于安全的小型运行时变更:

bun run build
bunx @capgo/cli deploy --channel staging
bunx @capgo/cli deploy --channel production

这样既能保持二进制文件本身稳定,又能快速迭代,无需上传新的二进制文件。

如何避免“糟了,这需要原生发布”

每次 Capgo 发布前,先过一遍这个快速检查:

  1. 该变更是否涉及新的原生依赖或权限?
  2. 它是否改变了应用宣称的功能?
  3. 它是否会改变身份验证或安全边界?
  4. 我们能否将其描述为不破坏兼容性的 JavaScript 修复?

如果 (1)-(3) 的回答为“是”,请提交原生版本。 如果仅 (4) 为“是”,请通过 Capgo 发送。

这对合规团队意味着什么

  • 你可以将 App Store 审核额度留给更有意义的变更。
  • 你可以保留回滚控制权并实现快速补丁。
  • 通过在全量发布前在 channels 中测试更新,降低生产风险。

这与大型 Capacitor 项目在生产环境中的做法一致:仅针对 JS 修复进行快速更新,仅针对真实的二进制文件进行原生审核。

如果想更进一步,请结合基于 channels 的严格环境策略,确保 QA 不会收到生产环境的错误。这就是 Capgo 推荐的保持 staging、beta 和 production 环境纯净的原生方式。

继续阅读《如何更新 Capacitor JS 应用而无需重复应用商店审核》

如果你正在使用 如何更新 Capacitor JS 应用,而无需反复经过应用商店审核 要规划商店审核与分发,请将其与 @capgo/capacitor-in-app-review 有关 @capgo/capacitor-in-app-review 中的实现细节, 使用 @capgo/capacitor-in-app-review 有关《使用 @capgo/capacitor-in-app-review》中的原生能力, @capgo/capacitor-native-market 有关 @capgo/capacitor-native-market 中的实现细节, 使用 @capgo/capacitor-native-market 有关《使用 @capgo/capacitor-native-market》中的原生能力,以及 Capacitor OTA 更新:App Store 审核指南 有关 Capacitor OTA 更新:App Store 审核指南的实际背景。

为 Capacitor 应用提供 Live Updates

当 Web 层出现线上 Bug 时,通过 Capgo 发布修复,而不用等 App Store 审核好几天。用户会在后台收到更新,原生变更则仍走正常审核流程。

博客最新动态

Capgo 为你提供打造真正专业的移动应用所需的最有价值的洞察。