"","","","","","","","","",""
"","","","","","","","","","" "","","","","","","","","",""
"","","","","","","","","","" Capacitor使用云端在iOS和Android上构建签名的二进制文件 Capgo Builder (不需要Mac),添加一个真正的本机功能,并通过 Capgo Live Updates.
我们使用 Cursor ,它的AI可以自动执行大部分终端命令,如果您不想手动输入。
所需时间: 大约1-2小时第一次,主要是账户设置和等待云端构建。
最后,您将拥有:
- 一个从云端构建的本机iOS和Android应用程序——不需要在主路径上使用Xcode或Android Studio
- 在真实设备上运行的应用程序(TestFlight、直接安装或Play内部测试)
- 仅本机应用程序才能提供的工作摄像头功能
- 配置了实时更新,UI和CSS修复可以不经过商店审核直接发布
前提条件
| 需求 | 详细信息 |
|---|---|
| 一台电脑 | Mac、Windows或Linux —— 云构建可以从任何操作系统中进行 |
| 一个code编辑器 | 光标 (推荐)或VSCode |
| Node.js | 24 LTS (最新版 — 从 nodejs.org) |
| Git | 从 GitHub |
| Capgo 账户 | 免费注册 — 云构建和实时更新 |
费用(仅发布公共):
| 项目 | 费用 |
|---|---|
| Apple Developer Program | $99/年 |
| Google Play Console | $25 one-time |
| Cursor Pro | $20/month (optional but recommended for AI command execution) |
| Capgo | 免费层可用; 付费计划适用于生产规模 |
仅限本地模拟器:
| 工具 | 为什么 |
|---|---|
| Xcode (~15 GB, macOS only) | 在您的 Mac 上使用 iOS 模拟器 |
| Android Studio (~1 GB + SDKs) | 安卓模拟器 |
您可以跳过这两步。该教程的主要路径是在云端构建并在真实设备上安装,而无需模拟器。
关于可爱和框架的快速说明
在接触code之前,需要了解 可爱生成的网页应用类型会影响移动设备包装.
很长时间以来,可爱的默认设置是 React + Vite单页面应用(SPA)截至2026年5月,新建的可爱应用可能使用 TanStack Start,带有服务器端渲染(SSR) SSR对于Web应用来说很棒,但Capacitor会包装一个 静态构建 —一个包含HTML、CSS和JavaScript的文件夹 index.html 在设备上运行的应用程序的根部 —— 即在应用程序内部运行的应用程序。
SSR 应用程序需要服务器在每个请求时渲染页面。手机内部没有服务器,所以对于 Capacitor 你想要 静态、客户端渲染的输出.
要做什么:
- 从头开始: 要求 Lovable 为你提供一个 单页应用程序 (SPA) 或跳过 SSR 以获得静态
dist/文件夹。 - 已经在 TanStack Start (SSR) 上: 配置它以预渲染或输出静态 SPA。唯一的硬性要求是包含静态构建文件夹的
index.html. - 遗留 Next.js Lovable 项目: 使用 静态导出 — 输出到
out/而不是dist/.
无论您使用哪个框架,都将 Capacitor 的 webDir 在该文件夹中。对于 Vite SPA,文件夹是 dist.
步骤 1 — 将您的可爱的应用程序导出到 GitHub
可爱会将您的 code 在其编辑器中保留,直到您连接 GitHub。
- 在浏览器中打开您的 Lovable 项目
- 点击 升级 (右上角) 如果需要,请打开 Git 在左侧菜单
- 选择 GitHub,授权Lovable,并链接您的帐户
- Lovable会自动创建一个仓库并推送您的应用




✅ 成功: 访问 github.com/YOUR-USERNAME/your-app 显示您的应用程序的 code。
步骤 2 — 设置游标并克隆您的项目
在本地与您的 code 进行工作之前,您需要一个 code 编辑器。我们推荐 Cursor,一个可以为您运行终端命令的 AI 强化编辑器。
下载并安装 Cursor
- 访问 cursor.sh 并下载适用于您的操作系统的版本
- 按照安装向导安装 Cursor
- 安装完成后打开 Cursor

为 AI 开发配置游标
为了获得最佳体验,请在开始之前配置游标:
- 购买游标计划 — 虽然游标提供免费层级,但 Pro 计划($20/月)为您提供无限的 AI 完成、访问 Claude 和 GPT-4、以及命令执行
- 打开游标设置 通过按
Command+,(Mac) 或Ctrl+,(Windows)

- 启用 AI 模型 — 确保 AI 功能已启用:

- 选择您的偏好模型 — 选择 Claude 或 GPT-4 以获得最佳结果:

- 允许命令执行 — 启用游标以为您运行命令:

在游标中克隆您的仓库
- 在游标中按
Shift+Command+P(Mac) 或Shift+Ctrl+P(Windows) 打开命令面板 - 输入“clone”并选择 Git: Clone“
- 粘贴您的GitHub仓库URL:
https://github.com/YOUR-USERNAME/your-lovable-app.git - 选择一个文件夹来保存项目

- Cursor将克隆并打开您的项目

步骤 3 — 安装依赖项并本地运行
方法 1:使用Cursor AI(推荐)
- 按
Command+K(Mac)Ctrl+K(Windows) - 输入以下命令:
Install Homebrew, Node.js and npm on my system, then install dependencies and run the dev server
AI将自动检测您的操作系统,安装 Node.js,并运行 npm install, 并且使用 npm run dev.

方法 2:手动安装
在 Cursor 中打开终端,按 Shift+Command+T (Mac) 或 Shift+Ctrl+T (Windows),然后:
对于 macOS:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install node
cd your-lovable-app
npm install
npm run dev
对于 Windows:
- 从 24 LTS 下载安装程序 从
- 运行安装程序
- 打开终端并运行:
cd your-lovable-app
npm install
npm run dev

通常,Lovable 应用程序在 http://localhost:8080 或 http://localhost:5173 — 使用您的终端打印的地址。
按 Ctrl + C 当您准备继续时,停止开发服务器。
✅ 成功: 您的应用程序在浏览器中打开,UI 正常工作。
步骤 4 — 准备静态生产构建
Capacitor 需要在添加原生平台之前进行生产构建。
React + Vite (最喜欢的应用)
方法 1: 使用 Cursor AI (推荐)
点击 Command+K (Mac) 或 Ctrl+K (Windows) 并询问:
Configure vite.config for Capacitor mobile deployment with base './' and production build to dist
方法 2: 手动配置
确认 vite.config.ts 使用相对基准,因此资产在本机 WebView 中加载:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()],
base: './',
build: {
outDir: 'dist',
},
})
构建和验证:
npm run build
您应该看到一个 dist/ 文件夹 index.html 在其根目录。

Legacy Next.js Lovable 项目
如果您的仓库使用 Next.js,请问 Cursor:
Add a static export script to package.json and configure next.config.js for mobile export with Capacitor
或 将您的 Next.js 应用程序转换为移动应用 查看完整 next.config 的设置,然后使用 webDir: 'out' 在 Capacitor 中代替 dist.
✅ 成功: 一个静态构建文件夹存在(dist/ 或”,)包含 out/和 index.html.
步骤 5 — 添加 Capacitor 和原生平台
Capacitor 将您的 web 应用包装在真实的 iOS 和 Android 外壳中 — 无需重写。
方法 1:使用 Cursor AI(推荐)
按 Command+K (Mac) 或 Ctrl+K (Windows) 并问:
Install Capacitor CLI, initialize it for my app with webDir dist, and add iOS and Android platforms
AI 将要求您输入 应用名称 和 包装 ID (例如 com.yourcompany.myapp).

Method 2: 手动安装
npm install @capacitor/core @capacitor/cli
npx cap init
当提示:
| 提示 | 示例 | 注意 |
|---|---|---|
| 应用名称 | 我的可爱应用 | 应用程序图标下显示 |
| 应用程序包 ID | com.yourcompany.myapp | 反向域名风格 — 发布到商店后无法改变 |
| Web 资产目录 | dist |
使用 out 用于 Next.js 静态导出 |
选择一个您实际拥有的包 ID。 包 ID 全局唯一。从开始就使用一个基于您控制的域的反向域 ID — 后来改变它意味着在所有 ios/ 和 android/ 重新构建。
npm run build
npm install @capacitor/ios @capacitor/android
npx cap add ios
npx cap add android
npx cap sync

配置 Capacitor
方法 1:使用 Cursor AI(推荐)
问 Cursor:
Update capacitor.config.ts to use dist as webDir and set up for HTTPS
对于 Next.js 静态导出,要求它使用 out 而不是。
方法 2:手动配置
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.yourcompany.myapp',
appName: 'My Lovable App',
webDir: 'dist',
server: {
androidScheme: 'https',
},
};
export default config;
构建和同步
方法 1:使用 Cursor AI(推荐)
告诉 Cursor:
Build the production web app and sync it with Capacitor platforms
方法 2:手动命令
npm run build
npx cap sync

您的项目现在看起来像:
your-lovable-app/
├── android/ ← native Android project
├── ios/ ← native iOS project
├── dist/ ← built web app (or out/ for Next.js)
├── src/ ← your Lovable app code
├── capacitor.config.ts
└── package.json
不需要 CocoaPods。 Capacitor 8 使用 Swift Package Manager 自动为 iOS 依赖项
✅ 成功: ios/ 和 android/ 文件夹出现,终端显示 Sync finished.
第 6 步 — 检查您的 .gitignore
Capgo 构建器从您的 Git 存储库中编译,因此 ios/ 并且 android/ 必须提交. 忽略它们在仓库根目录是很常见的错误。
确认:
- 根目录
.gitignore忽略node_modules并且dist(云端重建dist在 web 构建期间) ios/和android/它们本身是 不 被忽略
✅ 成功: git status 显示 ios/ 和 android/ 准备好提交(不被忽略)。
步骤 7 — 提交和推送
git add .
git commit -m "Add Capacitor and native iOS/Android platforms"
git push
✅ 成功: 您的 GitHub 仓库显示 ios/ 和 android/ 文件夹。
第 8 步 — 使用 Capgo Builder 构建商店就绪二进制文件
您不需要 Mac 或本地 Xcode/Android Studio pipeline 即可交付。 Capgo Builder __CAPGO_KEEP_0__ Builder 编译、签名并可以从云端提交 iOS 和 Android 构建。
设置 Capgo Builder
npx @capgo/cli@latest login
npx @capgo/cli@latest init
npx @capgo/cli@latest build init --platform ios
npx @capgo/cli@latest build init --platform android
只需保存一次签名凭证。
— 为开发构建注册您的 iPhone 管理凭据 和 从 Windows 构建 iOS.
请求云构建
npm run build
npx cap sync
npx @capgo/cli@latest build com.yourcompany.myapp --platform ios --build-mode release
npx @capgo/cli@latest build com.yourcompany.myapp --platform android --build-mode release
在终端中流式传输构建日志。配置了 App Store Connect 后,iOS 构建可以自动上传到 TestFlight。
在真机上安装:
- iOS: TestFlight(推荐)或已注册设备 UDID 的开发构建
- Android: Google Play 内部测试轨道或已签名的发布 APK/AAB
✅ 成功: 已签名的构建完成,您可以在真机上安装它。
步骤 9 — 可选:在 Xcode 或 Android Studio 中本地测试
如果您有 Mac 或想在云构建之前进行模拟器测试:
对于 iOS
方法 1:使用 Cursor AI(推荐)
Open the iOS project in Xcode
方法 2:手动命令
npx cap open ios

第一次 Xcode 设置:
- 从设备下拉菜单中选择一个模拟器(例如 iPhone 15)
- 对于真实设备:启用 自动管理签名 并选择您的 Apple Developer 团队
- 点击 ▶️ Play 按钮 — 第一次构建需要 5–10 分钟

适用于 Android
方法 1:使用 Cursor AI(推荐)
Open the Android project in Android Studio
方法 2:手动命令
npx cap open android

第一次 Android Studio 设置:
- 如果提示,请安装缺少的 SDK 包
- 在设备管理器中创建一个模拟器(例如 Pixel 6,API 33+)
- 点击绿色 ▶️ 运行按钮 — 第一次构建需要 5-15 分钟

使用本地 IDE 进行日常调试。使用 Capgo Builder 当您需要签名的发布二进制文件时。
✅ 成功: 在模拟器或模拟器中打开应用程序,显示您的可爱内容。
第 10 步 — 启用实时重载(开发)
通过将本地开发服务器指向本地 shell 来加速迭代。
方法 1:使用 Cursor AI(推荐)
告诉 Cursor:
Set up live reload for Capacitor development with my local IP address
方法 2:手动设置
- 找到您的本地 IP 地址:
# macOS
ipconfig getifaddr en0
# Windows
ipconfig
- 更新
capacitor.config.ts:
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.yourcompany.myapp',
appName: 'My Lovable App',
webDir: 'dist',
server: {
url: 'http://YOUR_IP_ADDRESS:5173',
cleartext: true,
},
};
export default config;
使用端口 8080 或 3000 如果这是你想要的 npm run dev 打印。
- 应用更改:
npx cap copy

✅ 成功: 您对 web code 的编辑将在设备或模拟器上实时重载。
步骤 11 — 添加本机功能:摄像头
一个 Capacitor 插件让 JavaScript 能够调用真实设备功能。我们将添加摄像头插件,使用户能够拍照 — 这是浏览器标签无法可靠地做到的。
方法 1:使用 Cursor AI (推荐)
告诉 Cursor:
Add the Capacitor Camera plugin with iOS and Android permissions and a button to take a photo
方法 2:手动安装
npm install @capacitor/camera
npx cap sync
iOS — 添加到 ios/App/App/Info.plist inside the top-level <dict>:
<key>NSCameraUsageDescription</key>
<string>This app uses the camera to take photos.</string>
Android — 添加到 <manifest> 在 android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.CAMERA" />
import { Camera, CameraResultType } from '@capacitor/camera';
async function takePhoto() {
const photo = await Camera.getPhoto({
quality: 90,
resultType: CameraResultType.Uri,
});
return photo.webPath;
}

Adding a plugin requires a fresh native build 通过 Capgo Builder 在设备上才能正常工作前需要重新编译一次。
✅ Success: Camera code 编译完成并无错误. npx cap sync __CAPGO_KEEP_0__
第 12 步 — 添加 Capgo 实时更新
原生变化通常需要通过应用商店审查。 Capgo 实时更新 通过实时更新,__CAPGO_KEEP_0__ 可以将更改推送到您的应用的 web 层 (HTML、CSS、JS、图像),在几分钟内完成。
在首次发布中安装更新器 这样您就不会在需要发布修复时等待审查。
npm install @capgo/capacitor-updater
npx cap sync
添加到 capacitor.config.ts:
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.yourcompany.myapp',
appName: 'My Lovable App',
webDir: 'dist',
plugins: {
CapacitorUpdater: {
autoUpdate: true,
},
},
};
export default config;
在应用入口中初始化 (例如 src/main.tsx):
import { CapacitorUpdater } from '@capgo/capacitor-updater';
void CapacitorUpdater.notifyAppReady();
提交、推送并运行一个新的 Capgo 构建器构建,以便更新器 SDK 位于本机 shell 中。
在发布后上传 web 包:
npm run build
npx @capgo/cli@latest bundle upload --channel production
查看 Capgo 实时更新文档.
✅ 成功: 更新插件已安装并 notifyAppReady() 在启动时运行.
步骤 13 — 使用实时更新修复状态栏间距
在真实的 iPhone 上, 您的标题可能会 the status bar (clock and battery). Modern Capacitor draws edge-to-edge, so your app must respect 状态栏(时钟和电池)下。现代 __CAPGO_KEEP_0__ 绘制边缘到边缘,因此您的应用程序必须尊严地: env(safe-area-inset-top), -bottom, -left, -right.
安全区域内边距 pt-6许多可爱的应用程序已经处理了底部内边距,但使用固定顶部填充(如
)而没有顶部内边距。 viewport-fit=cover 1. 确认 index.html:
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
2. 修复顶部标题 — 使用 max() 以保持 Web 缓冲区并在凹槽设备上生长:
/* Before */
padding-top: 1.5rem;
/* After */
padding-top: max(1.5rem, env(safe-area-inset-top));
在 Cursor 或 Lovable 中询问:
“The app content runs under the status bar at the top on mobile. Add
env(safe-area-inset-top)在移动设备上,应用内容在状态栏顶部运行。添加max()到每个页面标题顶部的填充,保持现有填充为最小值。”
3. OTA 部署修复 — 这是纯 CSS,Native 重建不需要:
git add .
git commit -m "Fix top safe area on mobile"
git push
npm run build
npx @capgo/cli@latest bundle upload --channel production
在您的设备上强制关闭应用,重新打开它,等待 ~15–30 秒,然后再次打开。标题应该位于状态栏下方 — 修复了无需商店审核。
✅ 成功: 顶部内容在 OTA 包应用后清除状态栏。
For deeper layout work, see @capgo/tailwind-capacitor and Capacitor edge-to-edge display.
第 14 步 — 准备您的商店列表
您的应用程序已构建、可安装,并且您可以推送即时更新。发布到公共商店主要是文书工作:
- 应用程序图标 — iOS 需要 1024×1024px(无透明度),Google Play 需要 512×512px
- 截图 — 苹果要求 iPhone 6.9“ (1320×2868px) 截图
- 应用程序名称、副标题、描述、关键词
- 隐私政策 URL ——两家商店都需要,甚至免费应用
- 年龄等级 ——每个控制台的问卷
- 数据收集披露 ——苹果隐私营养标签和谷歌数据安全
方法 1:使用指针 AI(推荐)
Set up app icons and splash screens for my Capacitor app
方法 2:手动设置
npm install -D @capacitor/assets
# Add assets/icon.png (1024x1024) and assets/splash.png (2732x2732)
npx capacitor-assets generate
npx cap sync

什么在“live”之前:
- 谷歌 Play 封闭测试 (个人帐户创建于 2023 年 11 月 13 日之后): 至少 12 个测试者在生产访问之前连续 14 天
- 提交审核 —— Apple ~3–5 天,Google ~3–7 天测试要求满足后。
查看我们的 首次应用审查指南 完整清单。
常见错误(和如何解决它们)
Could not find the web assets directory: ./dist—— 运行npm run build前npx cap add或npx cap sync. 确保webDir在capacitor.config.ts匹配您的框架输出(dist对于 Vite,out适用于 Next.js 静态导出)- “此 App ID … 不可用” — 选择一个你控制的反向域 ID。它是全局唯一的。
- iOS 构建失败后更改了 bundle ID — 在原生项目中找到并替换 Apple App Store Connect 中的 ID
ios/和android/,提交,重建。 - 启动时白屏 — 在 Vite 配置中设置
base: './'在状态栏下面的内容npx cap sync. - — 添加 在 Vite 配置中设置,重建,运行
viewport-fit=cover和env(safe-area-inset-top)填充(第 13 步)。 - 调试模式的 APK — 谷歌 Play 会拒绝调试版本。使用您的 keystore 签署一个发布版本。
- 部署被拒绝 — 版本已经存在 — 在本机项目中增加版本/构建号并重新构建。
有关 Capgo 构建器问题,请参见 本机构建故障排除 和 实时更新调试.
结论
您将可爱的 Web 应用转换为本机 iOS 和 Android — 在云中构建而无需 Mac,具有实时摄像头功能和布局修复的实时更新。完成了最困难的部分。
下一步骤
- Capgo 实时更新 — 无需等待商店审核即可发布 UI 和副本修复
- Capgo 构建器 — 在 CI 中自动化发布构建
- Capgo 插件目录 — 生理学、推送通知、地理位置等
- 相关指南: Base44 到移动 · Bolt.new 到移动
注册一个免费的 Capgo 帐户 以启用实时更新和云原生构建。
资源
继续从将您的可爱应用程序转换为 iOS 和 Android 的 Capacitor
如果您正在使用 将您的可爱应用程序转换为 iOS 和 Android 的 Capacitor 为计划原生插件工作而计划,连接它与 Capgo 插件目录 在Capgo插件目录中,产品工作流程为: Capacitor由Capgo提供 for the implementation detail in Capacitor Plugins by Capgo, Capgo插件的实现细节由__CAPGO_KEEP_1__提供 Capgo原生构建 在__CAPGO_KEEP_0__原生构建中,产品工作流程为: 从Windows构建iOS