Back to Blog

How to Publish an App Built with Cursor, Lovable, or Bolt

Publish apps built with Cursor, Lovable, or Bolt to the App Store and Google Play. Step-by-step guide covering accounts and submission.

Apr 5, 2026Updated Sep 11, 20267 min
See the listing update workflow

Saving a draft does not publish it. Store sync requires a supported paid plan and connected credentials.

How to Publish an App Built with Cursor, Lovable, or Bolt

Your app works in Cursor, Lovable, or Bolt. The next step is to turn the project into a signed mobile build, test it on devices, and prepare its store listing.

The right route depends on the code your project uses. This guide compares SwiftUI, Expo, and a Capacitor wrapper, then explains the testing and submission work each route needs.

For the review rules that affect AI-built apps, read our guide to Apple's app review requirements. Keep the launch checklist open as you prepare the final submission.

The Key Difference: What Each Tool Actually Outputs

Before you pick a publishing path, you need to understand what your tool actually generates:

ToolOutputPath to App StoreMobile-Ready?
CursorSource code (any language/framework)Depends on framework chosenIf using SwiftUI, React Native, or Flutter, yes
LovableReact + Tailwind web appWrap with Capacitor or Median.coNo, requires wrapping step
Bolt.newWeb app OR React Native (Expo) mobile appExpo (mobile) or Capacitor (web)Yes, if you start with mobile template

Check your framework before following a build tutorial. A React web app needs a different setup from an Expo project, even if both were created with the same AI tool.

Path 1: Cursor → App Store

Cursor is a code editor. You choose the framework, which determines how you build and submit the app.

Option A: Cursor + SwiftUI (Native iOS)

For a SwiftUI project, write the code in Cursor and use Xcode to build, test, and submit the iOS app.

  1. Write your app in Cursor using SwiftUI. The Sweetpad extension lets you build and run Swift projects directly from Cursor without switching to Xcode for every change.[1]
  2. Open the project in Xcode for final testing, previews, and the submission pipeline.
  3. Test on real devices via Xcode's device manager or TestFlight.
  4. Archive and upload (Product → Archive in Xcode), then manage your submission in App Store Connect.

Real-world timing: One developer with zero Swift experience built and published a card game using Cursor. The core build took 10-15 hours, but total time including debugging was 60-80 hours. His biggest tip: create a rules file telling the AI not to make destructive edits to working code.[2]

Requirement: You need a Mac. Xcode only runs on macOS.

Option B: Cursor + React Native (Expo)

If you want to ship to both iOS and Android from one codebase, use Cursor with React Native and Expo.

  1. Write your app in Cursor using React Native with Expo.
  2. Preview supported features with Expo Go, then test a development or production build for the native features your project uses.
  3. Build for production using eas build --platform ios (cloud-based, no Mac required).
  4. Upload the signed build using eas submit --platform ios, then complete the submission in App Store Connect.

Check Expo's pricing against the number of builds you expect to run. Allow time for store review after the build and upload are complete.

Cursor Pitfalls to Watch

  • Review AI changes carefully. Use version control and inspect changes before accepting them, especially when they touch working features.
  • Certificate management for native iOS can be confusing. Expo's EAS handles this automatically; SwiftUI + Xcode requires manual setup through the Apple Developer portal.
  • Test generated code. Run the app on the devices you support and check failures yourself; a plausible explanation from the coding tool is not a test result.

Path 2: Lovable → App Store

For a Lovable web project, a native container is one route to a mobile build. Check Lovable's mobile guidance against your project before choosing the setup.

Capacitor puts your web app inside a native container. Device features such as the camera or push notifications also need the appropriate plugins, permissions, and platform configuration.

  1. Export your Lovable code via GitHub.
  2. Set up Capacitor using the official setup guide. Install the platforms you need and configure the web build directory.
  3. Build your web app: npm run build
  4. Sync to native projects: npx cap sync
  5. Open in Xcode: npx cap open ios
  6. Test, archive, and submit through Xcode → App Store Connect.

Source: Analyse Digital guide[5]

Method B: Third-Party Wrapper (Median.co, Natively.dev)

A wrapper service can handle parts of the native build setup. Compare the features, source access, and maintenance work included in its service. Median describes its approach in this Lovable conversion guide.

Method C: PWA (No App Store)

A Progressive Web App is another option if browser access suits your product. Test installation, storage, notifications, and background behavior on the devices you support before choosing that route.

Lovable Pitfalls to Watch

  • Touch interactions need rework. Lovable designs for desktop (hover states, cursor effects). These don't translate to mobile. You'll need to replace hover-based patterns with tap-friendly alternatives.
  • CORS configuration. Your Supabase API calls may fail in the Capacitor wrapper due to CORS. Configure your backend to allow requests from the native app origin.
  • Guideline 4.2 risk. Apple rejects web view wrappers that don't provide sufficient native functionality. Add at least push notifications, offline support, or other native features to differentiate from a website.
  • Performance. Test loading, scrolling, and the main workflow on older devices you plan to support.
Mobile app development workflow from code editor to published app store listing

Path 3: Bolt.new → App Store

Bolt has an Expo integration for mobile projects. Use the mobile setup when you intend to build for iOS and Android.

Critical First Step: Start with Mobile

Tell Bolt you want a mobile app when you start the project. Check its mobile project guide before building out the screens; converting an existing web project can require extra work.

Bolt Mobile → App Store Workflow

  1. Build your app in Bolt using the mobile/Expo template.
  2. Test on your phone by scanning the QR code with Expo Go.
  3. Download the source code from Bolt.
  4. Install dependencies: npm install
  5. Check project identifiers. Confirm the app name, bundle identifier, package name, version, icon, and splash screen before building.
  6. Build for iOS: eas build --platform ios. After the build completes, upload it with EAS Submit.[9]
  7. Test on TestFlight, then submit via App Store Connect.
  8. For Google Play: eas build --platform android followed by eas submit --platform android.

Bolt Pitfalls to Watch

  • Plan time for debugging. A comparison of coding tools can suggest questions to ask, but test your own app before release.
  • Test purchases separately. Complete the store configuration and verify purchase, restore, and cancellation behavior for the billing system you use.
  • Check project identifiers. Confirm the app name, bundle identifier, package name, version, icon, and splash screen before building.
  • Check the current build-service plan and queue limits for your workload.

Comparison: Which Path Is Right for You?

FactorCursor + SwiftUICursor + ExpoLovable + CapacitorBolt + Expo
Coding required?ModerateSomeSome (wrapping step)Minimal
Mac required?YesNo (EAS cloud)Yes (Xcode step)No (EAS cloud)
iOS + Android?iOS onlyBothBothBoth
Rendering approachYesYes (React Native)No (WebView)Yes (React Native)
Best foriOS-only, polished appsCross-platform, indie devsExisting web appsQuick prototypes

After Publishing: Don't Skip the ASO

Once the app is ready for review, give the listing the same attention as the build.

The title, description, and screenshots should help someone understand the main task and decide whether the app suits them. Use real product captures and describe the features available in the submitted version.

Start with these three tasks:

  1. Metadata generation prepares a draft from the app facts you provide. Review each claim, relevant term, and final field limit before use. Generation speed and scores do not establish search demand or conversion performance.
  2. Prepare screenshots. Show the main workflow clearly and check the exported sizes against store requirements.
  3. Choose a market to support. Translate selected listing drafts, then have someone fluent in the language review them.

For the complete optimization playbook, follow our ASO checklist.

Frequently Asked Questions

Can I publish a Lovable app to the App Store?

Yes, a web project can use a supported native packaging route. Test the full mobile experience and check Apple's minimum-functionality requirements. Adding a push notification or an offline screen alone does not establish that the app meets them.

How do I publish a Bolt.new app to the App Store?

Bolt documents an Expo path for mobile projects. Export the project, follow Expo's build setup, create a signed build, and upload it using EAS Submit. Then complete testing and store review. Bolt Expo guide.

Do I need a Mac to publish an iOS app?

It depends on your path. If using Expo's EAS Build service (Cursor + Expo or Bolt + Expo), builds happen in the cloud. No Mac required. For SwiftUI apps built with Cursor, you need Xcode which only runs on macOS. For Capacitor-wrapped Lovable apps, you need Xcode for the final iOS build step.

Will Apple reject my vibe-coded app?

Apple reviews what the submitted app does and how it behaves. Check functionality, privacy, and listing accuracy against its guidelines. Using AI to write the code does not by itself determine the review outcome.

How much does it cost to publish?

Budget for the applicable developer registration, build services, testing, store assets, and paid tools. Apple Developer Program membership normally renews annually; Google Play has a registration fee. Check current prices and eligibility before purchase.

Continue Reading

Put this guide into practice

Bring the next listing update into one workspace

Prepare edits, review translations and collect optional approval before sending a listing to the store.

See the listing update workflow

Saving a draft does not publish it. Store sync requires a supported paid plan and connected credentials.

Keep a checklist for your next release

Get the ASO checklist by email and subscribe to AppDrift listing tips. Free; unsubscribe anytime.