# Is your Lovable app ready for the App Store?

> Free Lovable to App Store checker. Paste your package.json to see if Capacitor is set up, if the build works on a phone, and get a fix prompt for Lovable.

Not on its own. Lovable builds a **website**, and the App Store only installs **native apps**. The usual bridge is Capacitor, a native shell around your web build. Paste your `package.json` and this checker tells you, in plain English, what is already in place, what is missing, and gives you a prompt to paste back into Lovable.

- Tool: Lovable checker. Input: Paste package.json. Free, no signup. Runs entirely in the browser; nothing is uploaded.
- Interactive version: https://capwr.app/free-tools/lovable-capacitor-checker
- All free tools: https://capwr.app/free-tools
- Last updated: 2026-10-14

## How to use the checker

1. In **Lovable**, open the code view and click `package.json` at the top of the file list. Copy all of it — or copy it from the root of the GitHub repo Lovable syncs to.
2. Paste it into the checker, or drop the file on it. Add `capacitor.config.ts` if you have one: it unlocks the appId, build folder and live-URL checks.
3. Read the result. Anything amber or red comes with a plain fix, and the prompt at the end bundles them for Lovable or Cursor.

You are pasting a file, **not a website URL**. Nothing leaves your browser.

## What the checker looks at

| Check | What it means | Why it matters |
| --- | --- | --- |
| Capacitor present | `@capacitor/core` and `@capacitor/cli` are installed | Without the native shell there is nothing to upload to TestFlight or Google Play |
| Versions match | All `@capacitor/*` shell packages share one major version | Mixed or very old versions fail at `cap sync` or in the store build |
| iPhone and Android packages | `@capacitor/ios` and/or `@capacitor/android` | Each store needs its own native project; you can start with one |
| Website kind (SPA vs SSR) | A static build (a folder with `index.html`) or a Node server | A phone has no Node server: server-rendered apps open on a blank screen |
| Build folder (webDir) | The folder the app loads after `npm run build` | Wrong folder, blank app |
| App id | A `com.studio.myapp`-style id | It becomes the bundle ID and package name, and is permanent once the stores know it |
| Live URL | `server.url` in `capacitor.config` | Loading your live site instead of the build is the classic Guideline 4.2 rejection |
| Native plugins | Camera, share, push, haptics… | Phone features people actually use are what make a wrapper feel like an app |

## Lovable apps and Capacitor

Most Lovable projects are **Vite + React single-page apps**: `npm run build` writes a `dist` folder, and Capacitor wraps that folder as it is. Some newer Lovable projects use **TanStack Start**, which renders on a server — those need a static (SPA or prerendered) build before Capacitor can load them. The checker tells you which one you have.

Capacitor does not change your screens. It adds an `ios/` and an `android/` project around the same web build, plus plugins when you want phone features. Supabase and other API calls keep working from the app as long as they use full `https://` URLs.

## From “ready” to TestFlight

A green result means the native app can be built. Shipping it still takes signing certificates, store records, and a machine with Xcode. That is what [CapWrapp](https://capwr.app/login) does: connect the GitHub repo, it opens the Capacitor pull request if one is needed, then builds on GitHub’s Mac machines and uploads to **TestFlight** and **Google Play** testing. Full walkthrough: [Lovable to App Store](https://capwr.app/guides/lovable-to-app-store).

> **Ready to build is not approved by Apple**
> Apple’s Guideline **4.2 (Minimum Functionality)** rejects apps that are only a website in a frame. Run the [Guideline 4.2 self-audit](https://capwr.app/free-tools/apple-guideline-4-2) before you submit.

## FAQ

### Can Lovable publish directly to the App Store?

No. Lovable publishes websites. To be on the App Store, the app has to be wrapped in a native shell such as Capacitor, signed with your Apple Developer account, and uploaded to App Store Connect.

### What is package.json, and where do I find it in Lovable?

It is the list of libraries your project uses. In Lovable, open the code view and click package.json at the top of the file list, or copy it from the root of the GitHub repo Lovable syncs to. Do not paste your website URL.

### Is my code uploaded anywhere?

No. The checker parses what you paste inside your browser. Nothing is sent to CapWrapp or anyone else.

### If the checker says ready, will Apple approve my app?

Not necessarily. Ready means the native app can be built. Apple can still reject an app that is only a website in a webview under Guideline 4.2 (Minimum Functionality).

### Do I need a Mac to put a Lovable app on the iPhone?

Not on your desk. The iPhone build needs macOS and Xcode, but that can run on a cloud machine such as GitHub Actions — which is how CapWrapp does it. You still need an Apple Developer account ($99 a year).

## Related free tools

- [Is your Bolt app ready for the App Store?](https://capwr.app/free-tools/bolt-capacitor-checker) — Same checks as the Lovable checker, tuned for Bolt’s Vite projects and Next.js templates.
- [Is your Base44 app ready for the App Store?](https://capwr.app/free-tools/base44-capacitor-checker) — Check a Base44 export: the frontend Capacitor wraps, the backend that stays hosted, and common setup mistakes.
- [Can this GitHub repo become an iPhone and Android app?](https://capwr.app/free-tools/github-repo-checker) — Paste a public repo URL. The same checks as the builder checkers, read straight from GitHub.
- [Capacitor appId and bundle ID validator](https://capwr.app/free-tools/capacitor-config-validator) — Check an appId against Apple and Android rules at once, plus webDir and server.url in capacitor.config.
- [Do you need a Mac to publish an iPhone app?](https://capwr.app/free-tools/do-i-need-a-mac) — Three questions. What you need for TestFlight and Google Play — accounts, costs, and whether a Mac is one of them.
- [Will Apple reject your app as just a website?](https://capwr.app/free-tools/apple-guideline-4-2) — Six questions on Apple’s Minimum Functionality rule — the usual reason wrapped web apps get rejected.
- [Why was my app rejected by Apple or Google Play?](https://capwr.app/free-tools/app-store-rejection-explainer) — Paste the rejection. Get the guideline in plain English, the fix, a reply for App Review, and a prompt for Lovable or Cursor.
- [App icon generator for iPhone and Android](https://capwr.app/free-tools/app-icon-generator) — Drop a logo or type an emoji. Get the iOS 1024 icon, Android adaptive and round icons, and both store icons — in Capacitor’s folders.
- [Why did my iOS or Android build fail?](https://capwr.app/free-tools/build-error-explainer) — Paste a failed build or upload log. Get the known error, what it means, and how to fix it — signing, versions, Gradle, uploads.
- [App Store and Google Play screenshot sizes](https://capwr.app/free-tools/app-store-screenshot-sizes) — Drop screenshots, see which store slots they fit, and export the missing sizes as PNGs both stores accept.
- [Google Play 12 testers, 14 days: when can you publish?](https://capwr.app/free-tools/google-play-12-testers) — Enter your testers and the day the 12th joined. Get the date you can apply for production, a reminder, and draft answers.

## About CapWrapp

CapWrapp turns a web app on GitHub — built with Lovable, Bolt, Base44, Cursor or by hand — into iPhone and Android apps. It adds Capacitor if the repo needs it, signs the builds, and ships them to TestFlight and Google Play from GitHub Actions, with no Mac or Xcode on your side. [Get started free](https://capwr.app/login) · [Lovable to App Store guide](https://capwr.app/guides/lovable-to-app-store)
