SuperAPI AI 工具集

webapp-to-capacitor

编程与开发

查看项目

更新于 10-15 00:03

技能介绍

用途

Web App to Capacitor 用于把已有的生产级 Web 应用、PWA 或 SPA 转换为行为接近原生、并能通过应用商店审核的 Capacitor iOS 与 Android 应用。其核心观点是:Capacitor 外壳通常只需一天工作量,真正的项目在于移动端 UX、原生能力和商店政策合规。

适用场景

触发条件包括:用户希望把网站、PWA 或 React、Vue、Angular、Svelte、Next.js、Nuxt 应用变成 iOS/Android 应用;用户询问 Apple 是否会以 4.2 条款拒绝 WebView 包装、以及如何让应用更像原生;用户需要一份涵盖权限、离线、认证、账号删除、支付和测试的迁移计划。

不适用场景:仅修复特定框架的 webDir、SSR 或路由问题应使用 framework-to-capacitor;Cordova/PhoneGap/Ionic-Cordova 项目应使用 cordova-to-capacitor;上传构建、截图、商店元数据应使用 capacitor-app-store;审核提交审计或拒审答复应使用 capacitor-apple-review-preflight;CI 流水线与签名应使用 capacitor-ci-cd 或 capgo-native-builds。

主要能力与流程

  1. 审计:在改动前先输出清单,包括框架版本与构建输出目录、仅服务端功能(SSR、API 路由、中间件、服务端操作、图片优化、绑定 Web 源的 Cookie 会话)、认证方式与 OAuth 重定向 URI、销售内容(应用内消费的数字商品与订阅需 Apple IAP / Google Play Billing,实体商品和现实服务可保留 Web 支付)、所需原生能力、离线预期、应打开应用的链接、PWA 组件。若应用相比网站没有额外价值,会建议先补充推送、离线、相机流程等原生价值再投入上架。

  2. 静态构建:让应用产出 index.html 与静态资源,不依赖 Node 服务器;将仅服务端逻辑迁移到可从 capacitor://localhost(iOS)和 https://localhost(Android)访问的托管 API(注意 CORS),或使用 CapacitorHttp。

  3. Capacitor 外壳:安装 @capacitor/core、@capacitor/ios、@capacitor/android 与 @capacitor/cli,执行 npx cap init、npx cap add ios、npx cap add android,然后构建并 npx cap sync。建议使用 Capacitor 8.5+(当前稳定版),它提供 Xcode 27 所需的 iOS UIScene 生命周期;Capacitor 9 仅在 next 标签。新项目 iOS 默认使用 SPM。注意网站 localStorage/Cookie 不会延续到新应用源,需重新登录;应在应用构建中禁用或严格限制 Service Worker;移除应用内的 PWA 安装提示和 Web 下载链接。

  4. 原生体验(4.2 防御):处理安全区域与 Android 边到边、键盘遮挡、启动屏与图标、平台导航(标签栏/栈、Android 硬件返回键、iOS 侧滑返回、触控目标尺寸)、离线与错误状态、外部链接用系统浏览器或 @capacitor/browser 打开,必要时使用 UI 套件。

  5. 原生能力:优先官方 @capacitor/* 插件,缺失时用 @capgo/*;为每个插件添加具体诚实的 iOS 用途说明字符串,仅在需要时添加 Android 权限并在使用时询问,处理拒绝、受限和不可用状态,并在真机测试。

  6. 账号与支付:应用内创建账号需支持应用内删除账号(Apple 5.1.1(v),Google Play 同样要求删除路径与网页链接);iOS 第三方/社交登录需检查 4.8 条款;数字商品通过 @capgo/native-purchases 走 IAP 或经批准的替代方案,在不允许的 iOS 构建中隐藏 Web 结账。

  7. 商店准备:Apple 自 2026 年 4 月 28 日起上传须用 Xcode 26 / iOS 26 SDK 构建,2027 年 4 月起要求 iOS 27 SDK(Xcode 27),Xcode 27 构建需要 UIScene 生命周期(Capacitor 8.5+);隐私清单与 App Privacy 回答须与真实 SDK 行为一致;提供演示账号与审核备注。Google Play 自 2026 年 8 月 31 日起新应用和更新须目标 API 36(Capacitor 8 模板已目标 36);完成数据安全、内容分级和应用访问;2023 年 11 月 13 日后创建的个人开发者账号须先进行至少 12 名测试者、连续 14 天的封闭测试才能获得生产访问权限。

  8. 实时更新:外壳可用后可选提供 Capgo,执行 npx @capgo/cli@latest init 与 bundle upload。需明确边界:实时更新只改变 Web 资源,原生代码、插件、权限、权利、图标、签名和商店元数据仍需商店发布。

验证与错误处理

验证包括:构建产出 index.html、cap sync 无缺失插件警告、模拟器与真机启动、登录/登出/账号删除/购买恢复/离线/深链可用、关键流程杀进程重启后状态保持、无 CORS 错误与 localhost 请求、检查 beforeinstallprompt 与 serviceWorker.register。常见错误处理涵盖静态构建未配置、OAuth 重定向不匹配、仅设备上 CORS 失败、4.2 拒审、3.1.1 拒审、Play 生产轨道锁定、目标 API 被拒、旧包持续显示等。

限制

资料未提供该技能的具体收费、价格、平台支持范围或效果数据。