Build.
Packaging a Lovable web app for the Apple App Store
The technical steps to package a Lovable app for iOS, pass Apple App Store review, and avoid the guideline 4.2 minimum functionality rejection.
You built a fast prototype or functional tool in Lovable. It runs cleanly on your desktop browser, your early users test it, and now they want to install it from the Apple App Store.
The problem is that you cannot simply export HTML and click upload in App Store Connect. Apple maintains strict review standards, and web applications wrapped without care get rejected within hours under Guideline 4.2: Minimum Functionality.
Passing Apple review with an app built in Lovable requires a specific sequence: auditing browser code, packaging with Capacitor, adding real native device features, and verifying store compliance.
Step 1: Clean the codebase before adding a native shell
Lovable generates React, Vite, and Tailwind code rapidly. While that code looks complete in preview, it often contains patterns that break on iOS:
- Browser-only APIs: Code that accesses
window.openor local storage without handling native background states. - Fixed viewport units: Hardcoded CSS
100vhvalues that ignore the iOS notch and dynamic island, causing buttons to hide under the home indicator. - Exposed environment keys: Client bundles containing Supabase service role keys or unverified API tokens.
Before you touch Xcode, test the responsive interface in Safari on a real iPhone. Fix every layout overlap and broken scroll container in the browser first.
Step 2: Package with Capacitor
Capacitor bridges your web frontend and the native iOS runtime. It compiles your web build directory (dist) into an authentic Xcode project.
- Install Capacitor core and CLI packages.
- Initialize your app ID using reverse-domain notation (for example,
com.yourcompany.appname). - Add the native iOS platform with
npx cap add ios. - Run your production build, copy the assets with
npx cap copy, and open the project in Xcode.
Keep your assets bundled locally inside the native app bundle. Bundled builds open fast, work without a network connection, and pass initial binary validation.
Step 3: Satisfy Guideline 4.2 (Minimum functionality)
The most common rejection for wrapped web apps is Guideline 4.2. Apple’s review team checks whether your app behaves like an authentic native iOS product or just a webpage inside a frame.
To pass review, your app must provide features that a mobile website cannot offer:
- Device sensor integration: Use native camera inputs, haptic feedback, or local document scanning.
- Biometric authentication: Protect user sessions with Face ID or Touch ID rather than plain web cookies.
- Push notifications: Connect native Apple Push Notification service (APNs) alerts for critical account events.
- Offline handling: Display clean offline caching states rather than an empty Safari error page when connection drops.
For a live example in production, explore our release of SlabMath on the iOS App Store. Originally created as an AI web prototype, we audited the codebase, integrated native camera grading analysis, and guided it through Apple review for a global store launch.
Step 4: Handle Apple account deletion rules
Guideline 5.1.1(v) states that if your app allows users to create an account, it must allow them to delete their account directly within the app.
A button that opens an email to your support inbox does not comply. You must implement a dedicated deletion flow that purges user records from your Supabase auth table and database rows.
Step 5: Test on physical test devices
Never submit an app that has only run in the Xcode simulator. Simulators hide touch latency, ignore real camera permissions, and do not simulate memory limits.
Distribute an internal build through Apple TestFlight. Verify that:
- The keyboard dismisses cleanly when tapping outside text fields.
- Bottom navigation bars respect the iPhone safe area.
- The session stays authenticated when switching apps.
Once your TestFlight build runs reliably on real hardware, your submission will move through App Review smoothly.
More articles on build
- How much does a web app cost to buildThe questions that actually decide the price, and why any quote given before scoping is a guess.7 min read
- Why Apple rejected your app, and what to do about itThe rejections we see most on wrapped web apps, what each one actually means, and how to answer review.7 min read
- Why your Stripe webhook is not workingThe payment succeeded and your app never found out. Six causes, and how to tell which is yours.6 min read
Have a project in mind?
Let's build it.
Whether you are building a new SaaS platform from scratch, launching a mobile product, designing a high-conversion interface, or need an urgent rescue for an AI-built app, we are ready to help. You will receive a clear scoped plan and milestone timeline within 1 to 2 business days.