How to use the checker
- Export the Base44 project to GitHub, or download the code. Copy
package.jsonfrom the root. - Paste it into the checker, or drop the file on it. Add
capacitor.configif you already added Capacitor. - Fix anything amber or red, using the prompt for Base44 or Cursor.
What gets wrapped — and what stays online
Capacitor packages the frontend — the React and Vite build — into the iPhone and Android app. Base44’s database, auth and backend functions keep running on Base44’s servers, and the app calls them over the internet exactly like the website does. Two consequences:
- The app needs a connection for anything that touches Base44 data.
- API calls must use full
https://URLs. Relative paths that work on your Base44 domain break inside an app, whose pages load from a local origin instead.
If @base44/sdk is in the project, the checker points this out so it is not a surprise.
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 |
From Base44 to TestFlight
Connect the GitHub repo in CapWrapp — not the Base44 URL. CapWrapp adds Capacitor if needed, builds on GitHub’s Mac machines, and uploads to TestFlight and Google Play testing. Then run the Guideline 4.2 self-audit: a wrapper that only shows your website is a common rejection.
