---
description: Capawesome Cloud now supports Apache Cordova with zero-config native iOS and Android builds, App Store Publishing, Automations, and over-the-air Live Updates.
title: Announcing Cordova Support in Capawesome Cloud - Capawesome
image: https://capawesome.io/docs/assets/images/social/blog/announcing-cordova-support-in-capawesome-cloud.png
---

[ Skip to content](#announcing-cordova-support-in-capawesome-cloud) 

[ 🔐 Introducing the **Capacitor Vault** plugin — store secrets behind biometrics or a device passcode.](/blog/announcing-the-capacitor-vault-plugin/) 

* [  SDKs ](/docs/sdks/)
* [  Formbricks ](/docs/sdks/capacitor/formbricks/)
* [  Geocoder ](/docs/sdks/capacitor/geocoder/)
* [  Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [  Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [  libSQL ](/docs/sdks/capacitor/libsql/)
* [  Live Update ](/docs/sdks/capacitor/live-update/)
* [  Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [  Media Session ](/docs/sdks/capacitor/media-session/)
* [  ML Kit ](/docs/sdks/capacitor/mlkit/)
* [  Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [  NFC ](/docs/sdks/capacitor/nfc/)
* [  OAuth ](/docs/sdks/capacitor/oauth/)
* [  Pedometer ](/docs/sdks/capacitor/pedometer/)
* [  Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [  PostHog ](/docs/sdks/capacitor/posthog/)
* [  Printer ](/docs/sdks/capacitor/printer/)
* [  Purchases ](/docs/sdks/capacitor/purchases/)
* [  RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [  Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [  Screenshot ](/docs/sdks/capacitor/screenshot/)
* [  Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [  Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [  Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [  Share Target ](/docs/sdks/capacitor/share-target/)
* [  Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [  SQLite ](/docs/sdks/capacitor/sqlite/)
* [  Superwall ](/docs/sdks/capacitor/superwall/)
* [  Torch ](/docs/sdks/capacitor/torch/)
* [  Vault ](/docs/sdks/capacitor/vault/)
* [  Wifi ](/docs/sdks/capacitor/wifi/)
* [  Zip ](/docs/sdks/capacitor/zip/)
* [  Cordova ](/docs/sdks/cordova/)
* [  Cloud ](/docs/cloud/)
* [  Integrations ](/docs/cloud/live-updates/integrations/)
* Concepts
* Reference
* [  Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [  FAQ ](/docs/cloud/live-updates/faq/)
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Set Up Environments ](/docs/cloud/native-builds/environments/)
* [  Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [  Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [  Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [  Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [  Use pnpm or Yarn ](/docs/cloud/native-builds/package-managers/)
* [  Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [  Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [  Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [  Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [  Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [  Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  FAQ ](/docs/cloud/native-builds/faq/)
* [  App Store Publishing ](/docs/cloud/app-store-publishing/)
* [  Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [  Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [  Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [  FAQ ](/docs/cloud/app-store-publishing/faq/)
* [  Automations ](/docs/cloud/automations/)
* [  Reference ](/docs/cloud/automations/reference/)
* [  Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [  FAQ ](/docs/cloud/automations/faq/)
* [  Assist ](/docs/cloud/assist/)
* [  CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Integrations ](/docs/cloud/integrations/)
* Account
* [  Organization ](/docs/cloud/organizations/)
* [  Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [  Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [  Billing ](/docs/cloud/organizations/billing/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  AI ](/docs/ai/)
* [  Insiders ](/docs/insiders/)
* [  Billing & Plans ](/docs/insiders/billing-and-plans/)
* [  FAQ ](/docs/insiders/faq/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/support/)
* [  Contributing ](/docs/contributing/)
* Contributing code
* [  Code of Conduct ](/docs/contributing/code-of-conduct/)
* [  Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [  Blog ](/blog/)
* Categories

# Announcing Cordova Support in Capawesome Cloud[¶](#announcing-cordova-support-in-capawesome-cloud "Permanent link")

Capawesome Cloud now officially supports **Apache Cordova**. That means out-of-the-box native iOS and Android builds, automated App Store submissions, and — the part we're most excited about — over-the-air Live Updates through our brand new Cordova Live Update plugin. With Ionic Appflow winding down, Cordova teams have been left without a real option for cloud builds and live updates. Consider this their new home.

![Create a Cordova app in Capawesome Cloud](/docs/assets/images/posts/announcing-cordova-support-in-capawesome-cloud/screenshot-create-app.png) 

Create a Cordova app in Capawesome Cloud in seconds

## Why Cordova, Why Now[¶](#why-cordova-why-now "Permanent link")

Ionic stopped selling Appflow to new customers in February 2025, and the platform reaches full end-of-life on December 31, 2027\. For Cordova teams that relied on Appflow for native builds and live updates, that's a hard deadline with no obvious successor. Most modern build and update services target Capacitor or React Native and treat Cordova as an afterthought, if they support it at all.

Capacitor has become the more popular choice for new apps, and we love it. But Cordova hasn't gone anywhere. It's still actively maintained by [The Apache Software Foundation](https://cordova.apache.org/), and a large number of our clients continue to ship and grow production Cordova apps. Those teams deserve the same first-class tooling everyone else gets.

So we did the work to make Cordova a first-class citizen in Capawesome Cloud — not a compatibility checkbox, but the same builds, publishing, automations, and live updates our Capacitor users already rely on.

## Native Builds Without the Config[¶](#native-builds-without-the-config "Permanent link")

Building a Cordova app for iOS and Android usually means maintaining your own macOS runners, wrestling with Xcode versions, and babysitting YAML pipelines. Capawesome Cloud removes all of that. There are no build configuration files to write and no CI service to wire up. You connect your Git repository, and we build it.

Creating a Cordova app takes a single command with the [Capawesome CLI](/docs/cloud/cli/):

`[](#%5F%5Fcodelineno-0-1)npx @capawesome/cli apps:create --type cordova --name "My Cordova App" --link
`

With the repository linked, you can trigger a signed build for any platform from any machine — no Mac required. The following command produces an App Store build on our macOS runners:

`[](#%5F%5Fcodelineno-1-1)npx @capawesome/cli apps:builds:create --platform ios --type app-store --git-ref main
`

Signing certificates, provisioning profiles, and Android keystores are uploaded once and stored encrypted, then injected automatically at build time. You can read more in the [Native Builds](/docs/cloud/native-builds/) documentation.

## Ship Straight to the Stores[¶](#ship-straight-to-the-stores "Permanent link")

A build is only half the job. Capawesome Cloud also submits your Cordova app to TestFlight, the App Store, and Google Play. You configure each store destination once, then deploy any successful build to it.

Set up a destination for the platform you want to publish to:

`[](#%5F%5Fcodelineno-2-1)npx @capawesome/cli apps:destinations:create --app-id <id> --name "App Store" --platform ios
`

From there, sending a build to that destination is one more command:

`[](#%5F%5Fcodelineno-3-1)npx @capawesome/cli apps:deployments:create --app-id <id> --build-id <id> --destination "App Store"
`

Every submission is tracked in one place, so you always know what shipped where. See the [App Store Publishing](/docs/cloud/app-store-publishing/) docs for the full setup, including the credentials each store requires.

## Automate the Whole Pipeline[¶](#automate-the-whole-pipeline "Permanent link")

Running these commands by hand is fine to start, but most teams want builds and submissions to happen on their own. With [Automations](/docs/cloud/automations/), a push to your release branch can build the app, submit it to TestFlight, and publish a live update — without anyone touching the CLI. Filter by branch, tag, or commit message to control exactly when each pipeline runs.

## The Headline: Live Updates for Cordova[¶](#the-headline-live-updates-for-cordova "Permanent link")

Native builds and publishing matter, but live updates are why most teams came to Appflow in the first place. Pushing a JavaScript, HTML, or CSS fix over the air — and having it on every device in minutes instead of waiting days for app review — is hard to give up once you've had it.

That's why we built the [Cordova Live Update plugin](/docs/sdks/cordova/live-update/), the Cordova counterpart to our battle-tested Capacitor Live Update plugin. It brings the same over-the-air update engine to Cordova apps, powered by Capawesome Cloud.

One detail Cordova developers will appreciate: the plugin works with the **stock Cordova WebView**. Unlike Appflow's plugin, it does not require `cordova-plugin-ionic-webview`. It hooks into Cordova's official scheme handlers instead, so there's nothing extra to install on the native side.

Installation is a single command, with your Capawesome Cloud app ID passed as a variable:

`[](#%5F%5Fcodelineno-4-1)cordova plugin add @capawesome/cordova-live-update --variable APP_ID=00000000-0000-0000-0000-000000000000
`

You configure the plugin through preferences in your `config.xml`. The `background` strategy checks for updates on launch and resume, downloads them silently, and applies them on the next start. The `READY_TIMEOUT` setting enables automatic rollback if a bad bundle ever fails to boot:

`[](#%5F%5Fcodelineno-5-1)<preference name="APP_ID" value="00000000-0000-0000-0000-000000000000" />
[](#%5F%5Fcodelineno-5-2)<preference name="AUTO_UPDATE_STRATEGY" value="background" />
[](#%5F%5Fcodelineno-5-3)<preference name="AUTO_BLOCK_ROLLED_BACK_BUNDLES" value="true" />
[](#%5F%5Fcodelineno-5-4)<preference name="READY_TIMEOUT" value="10000" />
`

For rollback to work, your app needs to confirm it started successfully. Call `ready()` as early as possible once Cordova is initialized:

`[](#%5F%5Fcodelineno-6-1)document.addEventListener("deviceready", async () => {
[](#%5F%5Fcodelineno-6-2)  await cordova.plugins.LiveUpdate.ready();
[](#%5F%5Fcodelineno-6-3)});
`

That's the entire integration. Shipping an update is then just a matter of building your web assets and uploading them as a bundle:

`[](#%5F%5Fcodelineno-7-1)npm run build
[](#%5F%5Fcodelineno-7-2)npx @capawesome/cli apps:liveupdates:upload --channel production
`

Channels, staged rollouts, one-click rollbacks, and signed bundles all work exactly as they do for Capacitor. If you want full control instead of the background strategy, the SDK also exposes `sync()`, `fetchLatestBundle()`, and the rest of the API directly. The [Live Updates](/docs/cloud/live-updates/setup/) guide walks through both approaches.

Want to see it in action before wiring up anything yourself? We maintain an official [Cordova Live Update Demo app](https://github.com/capawesome-team/cordova-live-update-demo) that shows the plugin downloading and applying an over-the-air bundle on a real device. There's nothing to sign up for and nothing to deploy — clone the repo, build the app, and watch a live update land.

![Cordova Live Update Demo app running on iOS](../../assets/external/raw.githubusercontent.com/capawesome-team/cordova-live-update/main/_github/assets/demo-ios.png) 

The Cordova Live Update Demo app applying an over-the-air update on iOS

## A Drop-In Replacement for Appflow[¶](#a-drop-in-replacement-for-appflow "Permanent link")

If you're coming from Appflow, the move is meant to be painless. The concepts map almost one to one: Appflow's app ID becomes your Capawesome Cloud app ID, channels stay channels, and the `background`, `auto`, and `none` update methods have direct equivalents. You swap `cordova-plugin-ionic` for `@capawesome/cordova-live-update`, point it at Capawesome Cloud, and keep shipping.

We've written a complete walkthrough in [Migrating from Ionic Appflow to Capawesome Cloud](/blog/migrating-from-ionic-appflow-to-capawesome-cloud/) that covers live updates, native builds, and app store publishing side by side.

## Built for Agencies and Multi-Tenant Apps[¶](#built-for-agencies-and-multi-tenant-apps "Permanent link")

A large share of Cordova teams are agencies and product studios shipping the same app, rebranded, for many clients. Capawesome Cloud is built for exactly that. You ship a branded build for every customer from one shared codebase, with custom bundle IDs, app names, icons, and splash screens injected at build time.

Each customer gets its own store destination with its own encrypted, scoped signing credentials, so nothing crosses between brands by default. A fix in your main branch rebuilds every branded app in the same pipeline and can roll out as a live update to all of them at once. And because pricing scales by build concurrency and active users rather than by number of brands, running a hundred per-customer apps doesn't mean a hundred separate bills. Learn more on the [white-label solution page](/solutions/white-label/).

## Get Started Today[¶](#get-started-today "Permanent link")

Cordova support is live right now. Create your first Cordova app, connect a repository, and trigger a build — the free tier is enough to ship your first live update and see how it feels.

[Try Capawesome Cloud Free](https://capawesome.io)

## Final Thoughts[¶](#final-thoughts "Permanent link")

Appflow's wind-down put a real deadline on a lot of Cordova apps, and until now the honest answer to "what do we move to?" was unclear. With native builds, App Store Publishing, Automations, and the new Cordova Live Update plugin all in one place, that answer is now straightforward. We're genuinely happy to give the Cordova community a home built by people who still believe in the framework.

If you're weighing the switch, the [Migrating from Ionic Appflow to Capawesome Cloud](/blog/migrating-from-ionic-appflow-to-capawesome-cloud/) guide is the best place to start. Have questions or want to share what you're building? Join us on the [Capawesome Discord server](https://discord.gg/VCXxSVjefW), and [subscribe to the Capawesome newsletter](https://capawesome.io/newsletter) to stay up to date on what's next.

June 8, 2026 

 Back to top 