跳转至正文

Capacitor 补丁 Capacitor 插件

在 cap sync 和 update 时,应用按版本门控的 Capacitor 核心、CLI、插件及原生项目补丁

安装

bun add @capgo/capacitor-patch bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-patch
  • pnpm add @capgo/capacitor-patch
  • yarn add @capgo/capacitor-patch

指南

如何在 Capacitor 中使用 Capacitor Patch

使用 @capgo/capacitor-patch

在过程中从版本控制的 patch 目录中应用选定的 Capacitor 修复 cap sync 以及 cap update.

安装

npm install @capgo/capacitor-patch
npx cap sync

列出可用补丁

npx capgo-capacitor-patch list --all

该目录包含补丁 ID、目标包、支持的 Capacitor 版本,以及指向上游 Capacitor PR 的链接。

在 Capacitor 配置中选择补丁

import type { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  appId: 'com.example.app',
  appName: 'Example',
  webDir: 'dist',
  plugins: {
    CapacitorPatch: {
      patches: ['upstream-pr-8418-android'],
      strict: true,
    },
  },
};

export default config;

演练与同步

npx capgo-capacitor-patch doctor --phase package --strict
npx cap sync

先运行包级补丁 sync 以及 update后运行原生项目补丁 sync 以及 update.

配置

  • patches - 指定要应用的补丁 ID。
  • recommended - 应用 Capgo 标记为推荐的补丁。
  • disabled - 跳过指定的补丁 ID。
  • strict - 当选定的 patch 不兼容或无法应用时,操作会失败。

完整参考

继续阅读 使用 @capgo/capacitor-patch

如果你正在使用 使用 @capgo/capacitor-patch 要规划原生插件工作,请将其与 @capgo/capacitor-patch 有关 @capgo/capacitor-patch 的实现细节,请参阅 Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 查看由 Capgo 提供的 Capacitor 插件中的实现细节, 添加或更新插件 关于“添加或更新插件”中的实现细节,以及 Ionic Enterprise 插件替代方案 关于“Ionic Enterprise 插件替代方案”中的产品工作流。

常见问题

Capacitor Patch 插件常见问题

如何在 Capacitor 应用中安装 Capacitor Patch 插件?

运行 "bun add @capgo/capacitor-patch"(或 "npm install @capgo/capacitor-patch"),然后运行 "bunx cap sync",使 iOS 和 Android 项目获取原生的 code。最后在你的应用 code 中从 "@capgo/capacitor-patch" 导入即可。

@capgo/capacitor-patch 是否支持 React、Vue 和 Angular?

支持。Capacitor Patch 是一个 Capacitor 包,因此它适用于任何在 Capacitor 中运行的 Web 框架,包括 Ionic、React、Vue、Angular、Svelte 以及原生 JavaScript。

@capgo/capacitor-patch 支持哪个 Capacitor 版本?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-patch 是免费开源的吗?

是的。code 的源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-patch/,您也可以直接从 npm 免费安装。欢迎提交 Bug 报告或 Pull Request。

我可以在无需经过 App Store 审核的情况下,更新使用了 Capacitor Patch 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待 App 审核,即可发布 Capacitor Patch 变更

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo