Hire Lovable Xperts
Mobile

Publish a Lovable App to the App Store

Submitting a Lovable app to the App Store is a multi-step process that goes well beyond building the code. You need an Apple Developer account, a valid bundle ID, a signed binary produced in Xcode or EAS Build, App Store Connect metadata, and screenshots at required resolutions. This guide walks every step in order so nothing blocks your submission or triggers a rejection on review.

By Founder Name · Last verified: 2026-06-24

What do I need before I can submit to the App Store?

Four things must be in place before you open Xcode or App Store Connect: an Apple Developer account enrolled in the Developer Program ($99/year), a unique App ID (bundle ID) registered in the Apple Developer portal, a signed binary built from Xcode or EAS Build, and your Lovable app packaged in a Capacitor or Expo container. A web URL cannot be submitted to the App Store — the submission requires a .ipa binary file.

Apple Developer Program enrollment takes 24–48 hours to be approved after payment. Plan for this lead time — you cannot create provisioning profiles or submit to the store until enrollment is approved. Use the time to set up your Capacitor project, configure your Bundle ID, and prepare your App Store metadata.

Your Bundle ID must be globally unique in reverse-domain format (e.g. `com.yourcompany.appname`). It is registered in the Apple Developer portal under Identifiers. Once your app is live on the store, the Bundle ID cannot be changed — pick it carefully and make it specific enough to be unique.

How do I create a signed iOS binary from a Lovable project?

Signing an iOS binary for App Store distribution requires a Distribution Certificate and a Distribution Provisioning Profile, both issued by the Apple Developer portal. Xcode can manage these automatically if you enable 'Automatically manage signing' — the recommended approach for most teams. If you use EAS Build, the signing configuration is handled through the EAS CLI after connecting your Apple Developer account.

  1. In the Apple Developer portal, create an App ID under Identifiers matching your bundle ID.
  2. In Xcode → project settings → Signing & Capabilities, enable 'Automatically manage signing' and select your development team.
  3. Ensure your app version and build number are set in Xcode: version (e.g. 1.0.0) and build number (e.g. 1) must both be set before archiving.
  4. Select 'Any iOS Device (arm64)' as the destination — not a simulator.
  5. Go to Product → Archive. Xcode builds and archives the release binary.
  6. In the Organizer window that opens, select your archive and click 'Distribute App'.
  7. Choose 'App Store Connect' as the distribution method and follow the upload wizard.
  8. Wait for the binary to appear in App Store Connect under TestFlight — typically 15–30 minutes after upload.

What App Store Connect metadata do I need to prepare?

App Store Connect requires a substantial set of metadata before you can submit for review. Missing any required field blocks submission. Prepare all metadata before your binary is ready so you can submit immediately once the binary is processed — the review queue starts only after submission, not binary upload.

Required metadata: App Name (30 characters max — distinct from your title), Subtitle (30 characters max, optional), Description (4000 characters max), Keywords (100 characters total, comma-separated), Support URL, Marketing URL (optional), Privacy Policy URL (required), copyright string, and age rating questionnaire.

Screenshots are required at specific resolutions and cannot be skipped. Apple requires screenshots for the 6.7-inch display (iPhone 15 Pro Max size), and strongly recommends 5.5-inch (iPhone 8 Plus) screenshots as a fallback for older devices. Screenshots can be taken from the iOS Simulator (Product → Screenshot in Xcode) or Capacitor on a real device. All screenshots must reflect the actual app — no mockups with content the app does not contain.

App Store Connect Required Screenshot Sizes
Device TypeResolutionRequired?
iPhone 6.7" (Pro Max)1290 × 2796 pxRequired
iPhone 6.5" (Plus/Max)1242 × 2688 pxOptional (fallback)
iPhone 5.5"1242 × 2208 pxOptional (older devices)
iPad Pro 12.9" (3rd gen+)2048 × 2732 pxRequired if you support iPad
iPad Pro 12.9" (2nd gen)2048 × 2732 pxRequired if supporting older iPad

What app-review guidelines must a Lovable app comply with?

Apple's App Store Review Guidelines are the rulebook for every submission. For a Lovable app wrapped in Capacitor or rebuilt in Expo, three guidelines carry the highest rejection risk: Guideline 4.2 (Minimum Functionality), Guideline 5.1.2 (Data Collection), and Guideline 2.5.6 (Apps using WebViews). Understand all three before submitting — a rejection resets your review queue position.

Guideline 4.2 (Minimum Functionality): Your app must offer meaningful functionality beyond a mobile website. A bare Capacitor wrapper with no native features is the most-rejected pattern. Integrate at least one native capability — push notifications, camera access, or offline mode — before submitting. Native APIs signal to reviewers that the app offers genuine value as an installed app.

Guideline 5.1.2 (Data Collection): If your app collects any personal data — including Supabase Auth user records, analytics, or usage telemetry — your Privacy Policy must accurately describe what is collected and how it is used. Apple will ask during submission which data types your app collects. The answers must match your Privacy Policy.

Guideline 2.5.6: Apps that download and execute JavaScript at runtime are prohibited. All JavaScript must be bundled locally in the binary. Verify that your Lovable app does not dynamically load scripts from external CDNs — if it does, inline those scripts or remove them before submitting.

A rejected submission delays your launch by 1–3 business days minimum (the time for a fresh review after you resolve the issue). Common rejections that are completely avoidable: missing Privacy Policy URL, screenshots showing placeholder content, app crashing on launch in the reviewer's environment, or a Capacitor wrapper with zero native API usage.

How do I submit to Google Play alongside the App Store?

Google Play submission is generally faster and less strict than the App Store. You need a Google Play developer account ($25 one-time fee), an Android App Bundle (.aab) built from Android Studio or EAS Build, and Play Store metadata including screenshots, description, and a content rating questionnaire. Google Play's review takes 1–7 days for first submissions and is typically 1–3 days for updates.

  1. Create a Google Play developer account at play.google.com/console.
  2. Build a signed Android App Bundle (.aab) from Android Studio: Build → Generate Signed Bundle/APK → Android App Bundle.
  3. Create your keystore file when prompted — store it securely. The keystore is required for every future update to the same app and cannot be recovered if lost.
  4. In Google Play Console, create a new app and complete the app setup checklist.
  5. Upload the .aab to the Production release track.
  6. Complete the content rating questionnaire, privacy policy, data safety form, and store listing (title, description, screenshots).
  7. Google requires at least two screenshots for the phone form factor. Screenshots for 7-inch and 10-inch tablets are optional but recommended.
  8. Submit for review.

How do I test the app before submitting?

Apple's TestFlight allows beta distribution to up to 10,000 external testers before your public App Store release. Submitting to TestFlight uses the same binary upload path as App Store submission but has a lighter review process (typically 1 day for TestFlight review vs 1–3 for App Store). Testing on TestFlight before public submission gives you real-device feedback and catches issues the Simulator misses.

  1. After uploading your binary to App Store Connect, go to TestFlight and enable your build for external testing.
  2. Add tester email addresses or create a public TestFlight link for broader beta access.
  3. Request external testing review — Apple requires a brief review of TestFlight builds before external testers can access them.
  4. Test every major flow on real devices: auth sign-in, core feature usage, push notification receipt, deep link handling, and app re-launch from background.
  5. Fix any crashes found in TestFlight. Download crash logs from Xcode → Organizer → Crashes or from App Store Connect.
  6. Once the TestFlight build is stable across real devices, submit the same build (or a new incremented build number) for App Store review.

Frequently asked questions

How long does Apple App Store review take?
First-time submissions typically take 1–3 business days. Updates to existing apps often review in 24 hours. Apple's review times vary and can extend during peak periods (around major iOS releases or the holiday season). You can request expedited review for critical bug fixes, though approval of expedited requests is not guaranteed.
Do I need a Privacy Policy to submit to the App Store?
Yes. A publicly accessible Privacy Policy URL is mandatory for all App Store submissions. The policy must describe what personal data your app collects, why it collects it, how long it is retained, and who it is shared with. For a Lovable app using Supabase Auth, your policy must disclose that you collect email addresses and authentication tokens at minimum.
What is a bundle ID and can I change it after submission?
A bundle ID is a unique reverse-domain identifier for your iOS app (e.g. `com.yourcompany.appname`). It is set when you register the App ID in the Apple Developer portal and in your Xcode project or Capacitor config. Once your app is live on the App Store, the bundle ID cannot be changed — it is the permanent identity of your app in Apple's system.
Can I submit a web app to the App Store without any native code?
No. The App Store requires a compiled native binary — a .ipa file. A web URL or a simple HTML page cannot be submitted. You must package your Lovable app using Capacitor (which wraps the web build in a native container) or rebuild it using Expo/React Native. Both produce the .ipa binary required for submission.
What happens if my app is rejected by Apple?
You receive an email from Apple with the specific guideline your app violated and what change is required. You resolve the issue, resubmit, and the app re-enters the review queue — typically reviewed within 1–3 business days again. Rejections are common for first submissions, especially for WebView-based apps or apps with incomplete Privacy Policy information. Most rejections are resolved in a single revision cycle.
How do I set up in-app purchases for a Lovable app on iOS?
In-app purchases require using Apple's StoreKit framework — Stripe, Paddle, and other external payment processors are not allowed for in-app purchases on iOS where Apple takes a commission. For apps that offer subscriptions or one-time purchases within the app, you must implement StoreKit (or `expo-in-app-purchases` for Expo) and route those transactions through Apple's payment system. External payment links for physical goods and services are permitted under Apple's anti-steering rules from 2024.
Do I need separate developer accounts for the App Store and Google Play?
Yes. The Apple Developer Program ($99/year) is separate from the Google Play developer account ($25 one-time). Both are registered under an individual or organization, and both require a real identity for enrollment. If you are building for a company, enroll as an organization rather than an individual — individual accounts cannot transfer app ownership to another account.
What screenshots do I actually need for App Store submission?
At minimum, screenshots for the 6.7-inch display (iPhone 15 Pro Max size, 1290×2796px) are required. Apple displays these as the fallback for all iPhone sizes unless you provide device-specific screenshots. If your app supports iPad, you must also provide 12.9-inch iPad Pro screenshots (2048×2732px). Screenshots must show the actual app — no device mockup frames are required (but allowed), and no placeholder content.

Talk to a senior engineer — not a salesperson.

Book a free 30-minute audit call. We'll diagnose what's wrong and tell you exactly what it costs to fix.

Book a free audit call