跳过主内容
教程

Convert Your Lovable App to iOS and Android with Capacitor

逐步指南将您的Lovable项目导出,使用Capacitor将其包装起来,在Capgo Builder中构建签名的iOS和Android应用程序,并在云中通过空中修复。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销人员

Convert Your Lovable App to iOS and Android with Capacitor

介绍

Lovable 是一款AI应用程序构建器,能将提示转换为几分钟内工作的React应用程序。您可以快速在浏览器中发布,但如果您想将应用程序发布到App Store和Google Play,并将其放置在主屏幕上,就像每个本机应用程序一样?

本指南将指导您完成整个路径:从Lovable导出,使用 Capacitor在云端使用 Capgo Builder (无需Mac),添加一个真正的本机功能,并通过 Capgo Live Updates.

我们使用 Cursor ,它的AI可以自动执行大部分终端命令,如果您不愿意手动输入命令。

所需时间: 大约1-2小时第一次,主要是账户设置和等待云端构建。

最后,您将拥有:

  • 一个从云端构建的本机iOS和Android应用程序——不需要在主路径上使用Xcode或Android Studio
  • 在真实设备上运行的应用程序 (TestFlight, 直接安装或 Play 内部测试)
  • 仅本机应用程序才能提供的工作摄像头功能
  • 配置了实时更新,UI 和 CSS 修复可以不经过商店审查即可发布

前提条件

要求 详细信息
一台电脑 Mac、Windows或Linux —— 云构建可以从任何操作系统中工作
一个 code 编辑器 光标 (推荐) 或 VS Code
Node.js 24 LTS (最新版 — 从 nodejs.org)
Git 从 GitHub 克隆您的 Lovable 仓库
Capgo 账户 免费注册 — 云构建和实时更新

发布费用(仅限公开发布):

项目 成本
Apple 开发者计划 $99/年
Google Play 控制台 $25 one-time
Cursor Pro $20/月 (可选但推荐用于 AI 命令执行)
Capgo 免费层可用; 付费计划适用于生产规模

可选 (仅限本地模拟器):

工具 为什么
Xcode (~15 GB, macOS only) 在您的 Mac 上运行 iOS 模拟器
Android Studio (~1 GB + SDKs) Android 模拟器

您可以跳过这两步。 本教程的主要路径是在云端构建并在真实设备上安装,而不需要模拟器.

一份关于可爱和框架的快速说明

在接触code之前,需要了解 可爱生成的网页应用类型会影响移动设备包装.

很长时间以来,Lovable的默认设置是 React + Vite 单页面应用 (SPA) . 从 2026 年 5 月起,新 Lovable 应用可能使用 TanStack Start,带有服务器端渲染 (SSR) 的默认设置。 SSR 对于 web 来说很棒,但Capacitor会包装一个 静态构建 — 一个包含 HTML、CSS 和 JavaScript 的文件夹 index.html 在设备上运行的应用程序中,__CAPGO_KEEP_0__是静态的,客户端呈现的。

An SSR app expects a server to render pages on each request. There is no server inside a phone, so for Capacitor you want 静态、客户端呈现的输出.

要做什么:

  • 从头开始: 要求Lovable为你提供一个 单页应用程序(SPA) 或跳过SSR以获得静态 dist/ 文件夹。
  • 已经在TanStack Start(SSR)上: 配置它以预渲染或输出静态SPA。唯一的硬性要求是包含静态构建文件夹的 index.html.
  • 遗留Next.js Lovable项目: 无论您使用哪个框架,指向 __CAPGO_KEEP_0__ 的 静态导出 — 输出到 out/ 而不是 dist/.

无论您使用哪个框架,指向 Capacitor 的 webDir 在 Vite SPA 中, dist.

步骤 1 — 将您的可爱的应用程序导出到 GitHub

可爱会将您的 code 保留在其编辑器中,直到您连接 GitHub。

  1. 在浏览器中打开您的可爱项目
  2. 点击 升级 (右上角) 如果需要,请打开 Git 在左侧菜单
  3. 选择 GitHub,授权Lovable,并链接您的帐户
  4. Lovable会自动创建一个仓库并推送您的应用

Lovable.dev GitHub 连接

Lovable.dev GitHub 授权

Lovable.dev 仓库设置

Lovable.dev 项目导出

成功: 访问 github.com/YOUR-USERNAME/your-app 显示您的应用的 code。

步骤 2 — 设置游标并克隆您的项目

在本地与您的 code 进行工作之前,您需要一个 code 编辑器。我们推荐 Cursor,一个可以为您运行终端命令的 AI 驱动编辑器。

下载并安装 Cursor

  1. 访问 cursor.sh 并下载适合您的操作系统的版本
  2. 按照安装向导安装 Cursor
  3. 安装完成后打开 Cursor

启动 Cursor

Configure Cursor for AI Development

为最佳体验,请在开始前配置Cursor:

  1. 购买Cursor计划 — 虽然Cursor提供免费层次,但Pro计划($20/月)可为您提供无限的AI完成项、Claude和GPT-4的访问权限以及命令执行功能
  2. 打开Cursor设置 通过按 Command+, (Mac) 或 Ctrl+, (Windows)

Cursor设置

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

允许模型

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

选择游标模型

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

允许运行命令

在游标中克隆您的仓库

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

在Cursor中克隆

  1. Cursor将克隆并打开您的项目

在Cursor中打开

步骤3 — 安装依赖项并本地运行

  1. Command+K (Mac) Ctrl+K (Windows)
  2. 输入以下命令:
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.

Install Homebrew

方法 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:

  1. 24 LTS 的安装程序下载 nodejs.org
  2. 运行安装程序
  3. 打开终端并运行:
cd your-lovable-app
npm install
npm run dev

Lovable.dev 本地应用程序正在运行

通常,Lovable 应用程序在 http://localhost:8080http://localhost:5173 — 使用您的终端打印的地址。

Ctrl + C 当您准备继续时,停止开发服务器。

成功: 您的应用程序在浏览器中打开,UI 正常工作。

步骤 4 — 准备静态生产构建

Capacitor 需要在添加原生平台之前准备生产构建。

React + Vite (最受欢迎的应用)

点击 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 在其根目录下。

Lovable.dev静态导出成功

遗留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 外壳中 — 无需重写。

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).

Capacitor 初始化

方法 2: 手动安装

npm install @capacitor/core @capacitor/cli
npx cap init

当提示时:

提示 示例 注意
应用名称 我的可爱应用 应用程序图标下显示
应用程序包 ID com.yourcompany.myapp 反向域名风格 — 无法在商店发布后更改
Web 资产目录 dist 使用 out 用于 Next.js 静态导出

选择一个您实际拥有的包 ID。 Bundle 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 平台添加

配置 Capacitor

问 Cursor:

Update capacitor.config.ts to use dist as webDir and set up for HTTPS

对于 Next.js 静态导出,要求它使用 out instead.

方法 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;

构建和同步

告诉 Cursor:

Build the production web app and sync it with Capacitor platforms

方法 2:手动命令

npm run build
npx cap sync

Capacitor 同步完成

您的项目现在看起来像:

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_modulesdist (云端重建 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 builds。

设置 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 管理凭据 and 从 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

Open the iOS project in Xcode

方法 2:手动命令

npx cap open ios

打开 Xcode 的 Lovable 项目

第一次 Xcode 设置:

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

可爱的应用程序在 iOS 上运行

适用于 Android

Open the Android project in Android Studio

方法 2:手动命令

npx cap open android

Android Studio 打开可爱的项目

第一次 Android Studio 设置:

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

可爱的应用程序在 Android 上运行

使用本地 IDE 进行日常调试。使用 Capgo Builder 当您需要签名的发布二进制文件时。

成功: 应用程序在模拟器或模拟器中打开,显示您的可爱内容。

步骤 10 — 启用实时重载(开发)

通过将本地开发服务器指向本地 shell 来加速迭代。

告诉 Cursor:

Set up live reload for Capacitor development with my local IP address

方法 2:手动设置

  1. 找到您的本地 IP 地址:
# macOS
ipconfig getifaddr en0

# Windows
ipconfig
  1. 更新 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;

使用端口 80803000 如果这是你想要的 npm run dev 打印。

  1. 应用更改:
npx cap copy

实时重载已启用

成功: 对你的 web code 在设备或模拟器上进行的编辑将实时重载。

第 11 步 — 添加原生功能:摄像头

一个 Capacitor 插件让 JavaScript 可以调用真实设备功能。我们将添加摄像头插件,以便用户可以拍照 — 这是浏览器标签无法可靠地做到的。

告诉 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;
}

Native features added

添加一个插件需要一个 fresh native build 通过 Capgo Builder 在设备上才能正常工作。

Success: Camera code 编译和 npx cap sync 完成无错误。

第 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 实时更新文档.

每次有人点击时都自动上传 发布 在Lovable中,遵循 使用GitHub Actions自动化Capgo Live Updates.

成功: 更新器插件已安装并 notifyAppReady() 在启动时运行。

步骤13 — 使用实时更新修复状态栏间距

在真实iPhone上,可能会让您的标题 位于 状态栏(时钟和电池)下方。现代Capacitor支持从屏幕边缘到边缘的绘制,因此您的应用程序必须尊重 安全区域内边距: env(safe-area-inset-top), -bottom, -left, -right.

许多可爱的应用程序已经处理底部内边距,但使用固定顶部填充(如”,”)而没有顶部内边距。 pt-61. 确认

viewport-fit=cover 2. 修复顶部标题 index.html:

<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />

— 使用 在游标或可爱中询问: max() to keep web padding and grow on notched devices:

/* Before */
padding-top: 1.5rem;

/* After */
padding-top: max(1.5rem, env(safe-area-inset-top));

“在移动设备上,应用程序内容在顶部状态栏下运行。将

到每个页面标题的顶部填充中,保持现有填充为最小。” env(safe-area-inset-top) 3. 使用无线方式将修复推送到客户端 max()__CAPGO_KEEP_0__

__CAPGO_KEEP_1__ — 这是纯 CSS, 不需要原生重建:

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 包应用后,顶部内容清除状态栏。

对于更深入的布局工作,请参见 @capgo/tailwind-capacitorCapacitor 全屏显示.

第 14 步 — 准备您的商店列表

您的应用程序已构建,安装并可推送即时更新。进入公众商店主要是 paperwork:

  • 应用程序图标 — iOS 为 1024×1024px(无透明度),Google Play 为 512×512px
  • 截图 — Apple要求iPhone 6.9“ (1320×2868px)截图
  • 应用名称、副标题、描述、关键词
  • 隐私政策URL — 必须在两家商店中都填写,包括免费应用
  • 年龄等级 — 每个控制台都有问卷
  • 数据收集披露 — Apple隐私营养标签和Google数据安全
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”前的剩余内容:

  1. Google Play关闭测试 (个人帐户创建于 2023 年 11 月 13 日之后): 在生产访问之前连续 14 天至少有 12 名测试者。iOS 没有相应功能。
  2. 提交审核 — Apple ~3–5 天,Google ~3–7 天,测试要求满足后。

查看我们的 首次应用程序审核指南 以获取完整清单。

常见错误(和如何解决它们)

  • Could not find the web assets directory: ./dist — 运行 npm run buildnpx cap addnpx cap sync. 确保 webDircapacitor.config.ts 与您的框架输出(dist 对于 Vite out 对于 Next.js 静态导出)
  • “此 App ID … 不可用” — 应用程序 ID 全球唯一。 选择您控制的反向域 ID。
  • iOS 构建失败后更改应用程序 ID — 本机项目中的 ID 必须与 Apple App Store Connect 匹配。 找到并替换所有 ios/android/, 提交,重新构建。
  • 启动时出现白屏 —— 在 Vite 配置中设置、重建并运行 base: './' 在状态栏下方的内容 npx cap sync.
  • —— 添加viewport-fit=cover 填充 (第 13 步). env(safe-area-inset-top) 调试模式下的 APK 签名
  • —— 谷歌 Play 拒绝调试构建。使用您的 keystore 签署一个发布构建。 部署被拒绝 —— 版本已经存在
  • —— 在本机项目中升级版本/构建号并重建。 有关 __CAPGO_KEEP_0__ Builder 问题,请参见

For Capgo Builder issues, see — Set and 实时更新调试.

结论

__CAPGO_KEEP_0__ Live Updates

下一步

免费注册Capgo账户 以启用实时更新和云原生构建。

资源

继续从将您的可爱应用转换为iOS和Android的Capacitor

如果您正在使用 将您的可爱的应用程序转换为iOS和Android的Capacitor 以计划本机插件工作,连接它与 Capgo插件目录 为Capgo插件目录中的产品工作流程 Capacitor插件由Capgo 为Capacitor插件由Capgo中的实现细节 Capgo本机构建 为Capgo本机构建中的产品工作流程,并 从Windows构建iOS 为不需要Mac的云iOS构建。

实时更新 Capacitor 应用

当 web 层 bug 活跃时,通过 Capgo 发送修复,而不是等待几天的应用商店审批。用户在后台接收更新,而本机更改保持在正常审批路径中。

立即开始

最新博客文章

Capgo 为您提供了创建真正专业的移动应用所需的最佳见解。