Shipping a mobile app normally means a Mac for the iOS half, Android Studio for the other, a pile of signing files nobody remembers how to regenerate, and a CI pipeline to tie them together. VibeView cloud builds replace all of that with one command: vibeview build --cloud. Your source is packed, compiled on a managed toolchain in a clean, isolated environment, and handed back — from Windows, Linux or a Mac.

The same command covers every stage of a release. Build a simulator or emulator build to check your change on a cloud device, add --production for a signed release build, then run vibeview submit to upload it to TestFlight or Google Play.

What you can build

Platform Development build Production build Store upload
iOS Simulator .app, runs on a cloud iPhone or iPad Signed .ipa TestFlight
Android Emulator .apk, runs on a cloud Android phone or tablet Signed .aab or .apk Google Play: internal, alpha, beta or production track
Apple TV (tvOS) Simulator .app, runs on a cloud Apple TV Signed .ipa TestFlight
Android TV Emulator .apk, runs on a cloud Android TV Signed .aab or .apk Google Play track

Roku channels are the one exception: they are not cloud-built. Package your channel as usual and upload it to run on a Roku in your browser.

How it works

  1. Describe the build once. A build block in vibeview.json names the command that produces your build and where the result lands. If a platform has none yet, the CLI asks and saves your answers — or ask your coding agent to write it.
  2. Build. vibeview build --cloud --platform all builds every configured platform and streams the logs to your terminal. A simulator build attaches itself to your app in VibeView, ready to open on a device.
  3. Sign. vibeview build --cloud --production produces a signed release build with credentials you uploaded or VibeView generated.
  4. Ship. vibeview submit --platform ios uploads to TestFlight; vibeview submit --platform android --track internal to a Play track.

Signing handled

Generate an Android keystore with one command, or connect an App Store Connect API key and VibeView creates the iOS and tvOS certificate and provisioning profile through Apple’s API. Existing signing files can be uploaded instead. Passwords are prompted, never passed as flags.

Build numbers that never collide

Turn on autoIncrement and every production build gets the next number from a per-app counter. With an App Store Connect key, the first number starts above the builds you already uploaded.

Secrets kept out of your repo

Registry tokens, service-account files and API keys are stored as build variables and secrets, scoped to your organization or one app, and masked in build logs.

Built for CI and coding agents

--json emits machine-readable build events, exit codes are reliable, and a signed webhook fires when a build finishes. The Builds page hands you a ready-made prompt for Claude Code, Codex or Cursor that sets up and starts the builds.

Then run the build on a live device

This is the part a build service on its own doesn’t give you. Every simulator or emulator build lands in your app’s build history and opens on a cloud iPhone, Android phone, Apple TV or Android TV in your browser. Share it as a link with someone who has no Mac and no account, run your recorded tests against it, or let your coding agent install it, tap through it and check its own work. A debug build also works with live development: edits on your machine hot-reload onto the cloud device in about a second.

Expo and bare React Native

A managed Expo project needs no ios/ or android/ folder in git: the build command runs npx expo prebuild and then the native build, and the CLI suggests that command for you. A bare React Native project uses whatever build command it already has, because the command is yours. The Kitlist sample app is a small Expo project built, signed and shipped to both stores entirely through cloud builds — its config is a working starting point.

Flutter, Capacitor and native projects

The builders have the Flutter SDK, so a Flutter app builds with flutter build and opens on a cloud iPhone or Android emulator as it is, debug build included. A Capacitor or Ionic app builds its web app, syncs it into the native projects and builds those. Kotlin Multiplatform and plain Xcode or Gradle projects build with their own tools. From CLI 0.42.0 the CLI recognizes each one and suggests the commands; the cloud builds docs list what each framework needs.

What it doesn’t do

One Xcode, one Node.js. iOS and tvOS builds use a single stable Xcode release and every build runs on Node.js 22; you can’t pick another version per build. Beta Xcode releases aren’t offered — App Store Connect doesn’t accept them anyway. Flutter and Ruby are the exceptions: a project picks its Flutter release with FVM and, on iOS builds, its Ruby with .ruby-version.

The store upload is the binary only. Store listings, screenshots, release notes and App Review stay in App Store Connect and Play Console. A brand-new app needs its record created in each console once before the first upload.

Production builds aren’t run here. A signed .ipa is for a physical device or the store, so VibeView’s simulators can’t install it — check your change on the simulator build, then ship the production one.

What it costs

Every plan includes cloud builds each month — 15 on Free, 25 on Dev, 65 on Starter and 330 on Pro. Beyond that, each build draws from usage credit: $1.50 per iOS or tvOS build and $0.75 per Android or Android TV build on paid plans, $2 and $1 on Free. Builds canceled while queued, or that fail for a reason on our side, are not charged. Builds time out after 45 minutes on Free and two hours on paid plans. See pricing for everything each plan includes.

Guides

Coming from another build service? EAS Build, Codemagic and Ionic Appflow alternatives set out where each differs, with sources.

Frequently asked questions

Can I build an iOS app without a Mac?

Yes. Run vibeview build --cloud from Windows, Linux or a Mac and the iOS build runs on a managed macOS toolchain with a stable Xcode release. You get a simulator build that opens on a cloud iPhone, or, with --production, a signed .ipa you can upload to TestFlight with vibeview submit. You still need your own Apple Developer account to sign and publish.

Does VibeView make production builds, or only simulator builds?

Both. A regular cloud build produces a simulator or emulator build that runs on a VibeView cloud device. Adding --production produces a signed release build instead: an .ipa for iOS and tvOS, an .aab or .apk for Android and Android TV. Production builds are downloaded or sent straight to TestFlight or a Google Play track.

Which platforms can be cloud-built?

iOS, Android, Apple TV (tvOS) and Android TV, both as simulator or emulator builds and as signed production builds. Roku channels are not cloud-built: package the channel as usual and upload it, and it runs on a Roku in your browser.

Does it work with Expo?

Yes. A managed Expo project needs no ios/ or android/ directory in git: the build command runs npx expo prebuild for the platform and then drives the native build. Bare React Native projects work too, because the build command is yours. Production builds can take their build number from VibeView, so Apple and Google never reject a reused one.

Does it work with Flutter, Capacitor or a native project?

Yes. The builders have the Flutter SDK, Xcode with CocoaPods, and the Android SDK with Java 17 and 21, and vibeview build --cloud (CLI 0.42.0 and later) suggests the build commands for Flutter, Capacitor and Ionic, Kotlin Multiplatform, and native Xcode or Gradle projects. A cloud build runs whatever shell command you give it, so it isn’t limited to those: the command just has to produce a simulator .app or an emulator .apk.

Do I need to create signing certificates myself?

No. VibeView can generate an Android keystore for you, and with an App Store Connect API key it creates the iOS or tvOS distribution certificate and provisioning profile through Apple’s API. If you already have signing material, upload the .p12 and profile or the keystore instead. One Android keystore signs both phone and Android TV builds.

Can it publish to the App Store and Google Play?

vibeview submit uploads a signed production build to TestFlight or to a Google Play track (internal, alpha, beta or production). It uploads the binary only: store listings, screenshots, release notes and App Review stay in App Store Connect and Play Console, the same as if you had uploaded the file by hand.

How much does a cloud build cost?

Every plan includes cloud builds each month: 15 on Free, 25 on Dev, 65 on Starter and 330 on Pro. Builds beyond that draw from usage credit: $1.50 per iOS or tvOS build and $0.75 per Android or Android TV build on paid plans, $2 and $1 on Free. A build canceled while queued, or one that fails for a reason on our side, is not charged.

How is this different from EAS Build?

Both compile, sign and submit React Native apps without a Mac. VibeView also puts every simulator build on a live cloud device — iPhone, Android phone, Apple TV or Android TV — that you can open in a browser, share as a link, test and hand to a coding agent. The EAS Build alternative page compares the two line by line, with sources.