Skip to main content
A Rork project isn’t locked to one platform. One project can contain a native iOS app (Swift), a native Android app (Kotlin), and a web app, all sharing the same product logic and backend. That makes “convert my app to another platform” a feature, not a rewrite.

Convert an Android app to iOS (with AI)

Have an Android app (in Rork, or imported from a repository) and want it on iPhone?
  1. If the app isn’t in Rork yet, import its repository first, Kotlin/Java source included. The agent reads it even though the new iOS app will be Swift.
  2. In the project, ask in chat:
  1. Confirm the “Add iOS app?” widget. The agent rebuilds the screens with native iOS UI, reusing the same backend, data model, and business rules.
  2. Preview it in the iOS cloud simulator, then publish to the App Store.

iOS app → native Android app

The mirror path. In your iOS project, click + (Add preview platform) → Android (Kotlin), or ask in chat:
The add platform menu: Android (Kotlin) and Web
Rork builds a native Kotlin app, not a port wrapped in compatibility layers. Publishing: create the AAB for Google Play.

Expo / React Native project → Rork

Already have an Expo or React Native codebase (from Bolt, a contractor, or your own work)?
  1. Push it to GitHub if it isn’t there already.
  2. Import it: GitHub to Mobile App on rork.com → paste the repo URL → Generate app now.
The GitHub import dialog
Rork speaks Expo natively: projects created with the For iPhone & Android (Expo) platform target build with the standard Expo toolchain, so an imported Expo app keeps its structure. From there you can:
  • keep building it as Expo (one codebase, both stores), or
  • ask the agent to create native Swift / Kotlin versions alongside it if you want per-platform apps.
This is also the easiest way to publish an Expo app to the App Store without touching EAS config yourself: once the project is in Rork, the built-in Publish flow handles the build and TestFlight/App Store submission.
Not sure whether to build Expo or native Swift? See Rork vs Rork Max: what’s the difference.

Mobile app → web app

Any mobile project can grow a web version: Project Settings → Add new app → Web, or ask:
The web app publishes to a your-app.rork.app URL from the Publish menu (you can attach a custom domain later). Great for landing pages, admin panels, or a desktop companion.

Every combination at a glance

“Add platform / chat” = click + in the project header, use Project Settings → Add new app, or just ask the agent.

Per-app settings

Each app in the project has its own icon, home screen name, and bundle identifier / package name. Configure them in Project Settings before publishing:
Per-app settings: icon, name, bundle identifier

Publishing each platform

The Publish to App Store wizard in Rork
Every submission (and its TestFlight link) is tracked in the project’s Publish dialog:
App Store submission history with TestFlight links

FAQ

Is the conversion a literal code translation?

No, and that’s a good thing. The agent rebuilds the UI with each platform’s native components while keeping your product identical: same screens, same flows, same data. You get apps that feel right on each platform instead of a lowest-common-denominator port.

Do the platforms stay in sync afterwards?

They share the project, the backend, and the chat. When you ask for a feature, tell the agent which apps it applies to (“add dark mode to both iOS and Android”) and it updates each native codebase.

Can I have different features per platform?

Yes. It’s common to keep the field-crew features mobile-only and add an admin dashboard as the web app.