Cordova CLI Builder

IN THIS PAGE

Description

The Cordova CLI Builder in Alpha Anywhere lets you generate and build Cordova projects for Android and iOS outside of the classic PhoneGap build workflow.

This page covers the supported build paths, required tools, Android and iOS build options, privacy manifest requirements, and recent Cordova platform updates that affect current Alpha Anywhere builds.

Discussion

You can build Android apps on a local Windows development machine or inside a Docker container. Docker is the easier path because the required versions of Node.js, Java, Gradle, Cordova, and the Android SDK are already packaged in the container.

For iOS, the Cordova CLI Builder generates the project files and packaging scripts, but the actual build must still be completed on a Mac with Xcode installed. Because the page now includes both long-standing setup guidance and newer platform updates, the material below has been reorganized into task-based sections.

Name
Description
Building iOS Applications with Cordova CLI

A quick guide for creating iOS applications with Cordova CLI using Xcode.

Current Support Summary

This documentation was last updated in Mar. 2026 and is applicable to Alpha Anywhere Version 4.6.6.4 Build 10242 or greater.

Building Android Apps with Docker

One of the challenges of building Cordova Android apps on a development machine is the requirement to install and configure specific versions of Node.js, Java, Gradle, Cordova and the Android SDK. Even for a very experienced developer, it can take a full day to get everything configured properly. Building from a Docker image in a Docker Container resolves this problem.

The latest version of the Cordova CLI Builder allows a developer to build an Android app using a Docker image that was specifically created for use with Alpha Anywhere and the integrated Cordova App Builder genie. A Docker Image is essentially a blueprint for a Docker Container. A Docker image runs in a Docker container. The Docker container includes all of the required versions of Cordova, Node.js, Java, Gradle and the Android SDK.

See: Docker Overview* for an introduction to Docker.

Building an app with a Docker Container on a Windows machine requires the installation of:

Docker Image Update for API Level 35

If you are building Android apps with a Docker Container and your project is targeting API Level 35, you will need to delete the existing remoorejr/alpha-cordova-android-build Docker Image in Docker Desktop and install the latest version of the Docker Image.

Once you delete the image, search for Alpha-Cordova and select the latest version of the image remoorejr/alpha-cordova-android-build, which is the same as the image tagged v1.0.3-cordova-android-14.0.0.

The new container includes support for:

  • Android SDK Platform 35

  • Android SDK Build Tools 35

  • Node v22

  • JDK 17

When building a Cordova Android App with the Alpha Cordova App Builder genie be sure to set the target SDK to API level 35.

Install the Docker Image

Once Docker Desktop for Windows is installed, do a search on Docker Hub for the alpha-cordova-android-build Docker image. Once found, pull down the latest image into Docker Desktop. The latest image supports Cordova Android 14, API level 35. You only need to do this once or anytime that a new alpha-cordova-android-build image is created and made available on Docker Hub.

Docker Desktop Search
Docker Desktop Search

Load the Docker Image in Docker Desktop

Once the image is loaded into Docker Desktop, as shown below, the Docker Image can be used by the Cordova CLI Builder. Docker Desktop can be left running in a minimized window.

Each time you wish to build an Android app with Docker, make sure to have Docker Desktop loaded prior to launching the Cordova CLI Builder so the Docker Image can be found.

Docker Desktop Image
Docker Desktop Image

Prepare Android Device Deployment with ADB

If you would like to install the Android app on an Android device that is connected to the development computer after the build completes you need to install the Android Debug Bridge (ADB) utility for Windows.

See: Download and install Android SDK Tools

Prior to launching the Docker Container, make sure the ADB utility can see the connected Android device. To do so, launch a terminal window and enter ADB at the command prompt. You should see the device listed.

To start the Docker build process, from within the Cordova CLI Builder, check the property highlighted below.

Build With Docker v2
Build With Docker v2

Launch the Docker Container

When all of the app files are generated, the prompt below will appear:

Run Docker Image v2
Run Docker Image v2

Review the Build Output

Select the Yes button to start the Docker Container and you will be launched into a Linux Bash terminal where the Cordova Android build process will start and complete. When the app build process is completed, the Linux terminal window will remain displayed.

At this point the Cordova Android app has been built and all of the files are in the Windows project target folder as well as within the file system of the Linux container. You can see the location of the APK file in the containers file system in the image below:

Docker Build Successful
Docker Build Successful

Run the App or Exit the Container

The APK file can be found within the Windows project target folder at targetDriveDirectory\projectname\platforms\android\app\build\outputs\apk\debug.

To install and run the app on an Android device that is connected to the computer and seen by ADB, enter:

run android --nobuild

at the Linux command prompt.

To close and remove the container, enter

exit

at the Linux command prompt.

This removes the Docker Container instance and all of the files associated with it. The Windows Cordova project files remain. The Docker image remains installed within Docker Desktop for continued use. You do not need to download the image once again unless it is updated to handle a revision to Cordova Android or the Cordova Android support files.

Building on a Local Development Machine

For Android, the build scripts will build an Android APK file, installing all requested plugins. Options are provided to install the APK file on an Android device through the USB debug cable, by scanning a QR Code or the APK can be uploaded to the cloud so that it could be shared and installed by a group of test users.

If you plan to publish your app to the Google Play Store, make sure to install Cordova 12.0.0 or later. This is required to support Android SDK 33 or greater (a requirement as of August 2023) which is the earliest release of the Android SDK that is supported by Cordova Android which meets the requirements for Google Play Store app submission.

If you have a previous version of Cordova installed, refer to the section on updating Cordova.

For iOS apps, the builder will package up all of the required app files into a zip file and generate a Bash shell script to build the Cordova App on a Mac.

The Cordova CLI provides a command line interface for creating Cordova apps. It is supported on OSX and Windows development machines and requires the developer to install the Cordova CLI and the native app developer tools on the development machine.

If you want to build iOS apps using the Cordova CLI, you will need a Mac with the Cordova CLI and Xcode installed. You will also need an Apple Developer Account.

To develop Android apps on a Windows PC you will need to install the Java SE Development Kit (JDK), NodeJS, Gradle, Android Studio, and the Cordova CLI.

The steps below cover the installation of the latest release of Cordova and Cordova Android 14.0.0, API Level 35 as of April 2025.

For Cordova Android 13.0.0, API Level 34, the steps are the same except that the Cordova Android version is 13.0.0 and the API Level is 34.

Windows Setup for Android CLI Builds

This release includes support for Cordova Android 14.0.0, API Level 35 and Cordova Android 13.0.0, API Level 34 which both have breaking changes when compared to the previous release, Cordova Android 12.x.x.

See: Cordova Android 14 Overview for more information on Cordova Android 14.0.0.

  1. Install the JDK 17

  2. Install Git

    • a. Follow the installation instructions here.

  3. Install Node.js

    • a. Download the installer from NodeJS

      Node 14 and below is no longer supported. As of March 2026, the minimum version of Node.js required is Node v20.17.0.

      Node.js needs to be added to the PATH environment variable, which is done by default.

    • b. To test the installation, open up a new command window and type:

      node --version

      The version number should be displayed.

      You can open the command window from within Alpha Anywhere by clicking the Open Windows CMD Window button in the toolbar on the Web Projects Control Panel.

  4. Install Gradle

    • a. Download the latest release of Gradle from Gradle.org

      Gradle is an open source build system that is required by Android Studio.

      Create a gradle directory off of the C: drive root and install the downloaded version into it's own directory.

      In the image below the gradle folder includes two (2) different versions. Environment variables will be defined in later steps to indicate the version that will be used for Cordova Android builds.

      Gradle Directory
      Gradle Directory
  5. Install Cordova

    • a. From a command window, enter the following to install the latest release of Cordova:

      npm install -g cordova

      b. To verify proper installation, from the command window enter:

      cordova -v

      The cordova -v command displays the version of Cordova that is installed.

      As of November 2025, the latest Cordova CLI release is 13.0.0.

  6. Install Android Studio

    The lastest version of Cordova Android as of April 2025 is Cordova Android 14.0.0 which supports API Level 35.

    The Alpha Cordova App Builder currently supports both Cordova Android 13.0.0, API Level 34 and Cordova Android 14.0.0, API Level 35. At a minimum, API Level 34 is required if you want to publish your app in the Google Plays store. You can choose to use either version of Cordova Android to build your app.

    Cordova Android 13.0.0 requires at a minimum, Android Studio Jellyfish but the latest release, Android Studio Koala can also be used.

    Cordova Android 14.0.0 requires at a minimum, Android Studio Ladybug to build and run projects in Android Studio. This aligns with the Android Gradle plugin and Android Studio compatibility documentation.

    • a. See: Install Android Studio

    • b. After installing Android Studio, you must install the packages for the API you wish to target. Locate the SDK Manager icon in the upper right-hand corner of Android Studio.

      Launch Android SDK Manager
      Launch Android SDK Manager
    • Select the target platforms on the SDK Platforms tab and click OK. If you plan to deploy your app to Google Play, make sure you meet Google Play Store Requirements for the minimum SDK version.

      Install the Android SDK Platform that matches the Cordova Android version you plan to use:

      • Install Android SDK Platform 35 (Android 15 / API 35) for Cordova Android 14.

      • Install Android SDK Platform 34 (Android 14 / API 34) for Cordova Android 13.

      You can install both platforms if you want to be able to switch between Cordova Android 13 and 14.

      Android SDK Platforms selection (API 34 and API 35)
      Android SDK Platforms selection (API 34 and API 35)
    • See Android Studio's Update the IDE and SDK Tools help article for more information.

    • Cordova Android 13 requires Android SDK Build Tools version 34.0.0

      Cordova Android 14 requires Android SDK Build Tools version 35.0.0

      For earlier versions, Cordova Android 12 requires SDK Build Tools 33.0.2 and Cordova CLI 10.x.x and Cordova CLI 11.x.x that targets Cordova Android 10.x.x requires Android SDK Build Tools version 30.0.3, which is neither the latest release nor installed by default. To install the Android SDK Build Tools version 30.0.3, from within Android Studio click Tools < SDK Tools. Click the Android SDK Tools option. The status may indicate an update is available, however, the update will most likely not work with Cordova. Check the Show Package Details box in the lower right corner to display all available developer tools.

    • Check Android SDK Build Tools 35.0.0 (when using Cordova Android 14), Android SDK Build Tools 34.0.0 (when using Cordova Android 13) or Android SDK Build Tools 33.0.2 (when using Cordova Android 12) or Android SDK Build Tools 32.0.0 (when using Cordova Android 11) or 30.0.3 (when using Cordova Android 9 or Cordova Android 10). You can install both SDK Build Tools if you prefer. When installation of Android SDK Build Tools completes, you will be able to build Android Cordova apps with the Alpha Cordova CLI Builder Genie and Android Studio.

      Android 34 SDK Tools
      Android 34 SDK Tools
    • Scroll down to install the latest version of the Android SDK Command Line Tools

      Android 34 Command Line Tools
      Android 34 Command Line Tools
  7. Set the Environment Variables

    • The Cordova CLI installer attempts to set the required environment variables. However, in certain cases, variables need to be set manually. In Windows, the steps to set the environment variables are dependent on the installed version of Windows. You must close and open any command prompt windows after making the changes for the changes to take effect.

      1. Click on the Start Menu in the lower left corner of the desktop.

      2. In the search bar, search for Environment Variables and select Edit the System Environment Variables.

      3. In the window that appears, click the Environment Variables button.

        System Environment Variables
        System Environment Variables
      4. Click New... and enter the variable name and value.

      5. Set the GRADLE_HOME environment variable to the location of the installed Gradle version that should be used for Cordova Android builds.

        Set Gradle And Java Home
        Set Gradle And Java Home
      6. Set the JAVA_HOME environment variable to the location of the JDK 17.0 installation.

      7. Set the ANDROID_HOME environment variable to the location of the Android SDK installation.

        Android Home
        Android Home
  8. Edit the System Path

      1. Select the Path variable and click Edit.

      2. Add the following entries:

          1. %JAVA_HOME%\bin

          2. %ANDROID_HOME%\platform-tools

          3. %ANDROID_HOME%\cmdline-tools\bin

          4. %GRADLE_HOME%\bin

        Android Edit System Path
        Android Edit System Path

Verify the Windows Android Build Environment

The Android CLI Build - Setup dialog can be used to verify the environment and PATH variables are correct. To access the dialog:

  1. In Alpha Anywhere, click the Open Cordova Project Builder tool on the Web Projects Control Panel.

  2. Next, click Save & Launch Cordova CLI Builder.

    The Save & Launch Cordova CLI Builder button is only available when the App Build Target is set to "CLI", Android or iOS is checked, and Initial UX Component is set.

  3. On the Cordova CLI Project Build Properties, check Generate Android Build. This will expose the Check to see if your computer is correctly configured for Android CLI builds link.

  4. Click Check to see if your computer is correctly configured for Android CLI builds to check that your environment and PATH variables are setup correctly.

    Android CLI Build - Setup dialog
    Android CLI Build - Setup dialog
  5. Click Cancel in the Cordova CLI Project Build Properties dialog to return to the Web Projects Control Panel.

If Environment Checks Fail

Review the information in the dialog. If an environment variable is missing or something is missing from the PATH, review the [Windows PC Android SDK installation and setup for deploying Cordova Apps] section above for instructions on how to setup your environment.

macOS Setup for Cordova and Xcode

  1. Install Xcode (if not previously installed)

  2. Update iOS-deploy

    • The latest version of iOS-deploy is required if you plan on using the Xcode CLI tools to build and install the app on a simulator or a device.

      To update iOS-deploy, open a terminal and enter:

      sudo npm install -g ios-deploy@latest --force

  3. Install Node.js

    • a. Download the installer from https://nodejs.org/

      /usr/local/bin needs to be added to the PATH environment variable, which should be done by default. To verify, enter echo $PATH from Terminal.

    • To test the installation, from Terminal, type node --version The version number should be displayed.

  4. Install Cordova

    • a. From a Terminal window, enter npm install -g cordova@13.0.0.

    • b. To verify proper installation, from a Terminal window enter cordova -v, the installed Cordova version will be displayed.

Upgrade Cordova CLI

To upgrade an existing installation of Cordova:

  1. Open a console window. On Windows, open Command Prompt. On Mac, open Terminal.

  2. Uninstall Cordova. Run the following command in the console window:

    npm uninstall -g cordova

    Mac may require the sudo command. E.g. sudo npm uninstall -g cordova.

  3. Install the latest release of Cordova. Run the following command in the console window:

    npm install -g cordova

    You can optionally specify a specific version of cordova to install using cordova@version where version is the version number. For example, to install Cordova 12.0.0, run the following command in the console window:

    npm install -g cordova@12.0.0

    Mac may require the sudo command. E.g. sudo npm install -g cordova.

Using the Cordova App Builder

From the Cordova App Builder, it is best to start a new Cordova Project to make sure you are using the latest project template files. Project template files change from time to time based on device operating system revisions or revisions to Cordova. Set the App Build Target to CLI.

Cordova App Builder
Cordova App Builder

Cordova iOS 8.0.0 Support and Breaking Changes

The Cordova App Builder supports the latest release of Cordova iOS 8.0.0. This release is required if you wish to publish your iOS app to the App Store.

  • The Xcode project and build target are now always named App. This resolves numerous issues around CocoaPods, multi-target projects, and Info.plist additions, but potentially breaks some custom hooks that assume the project name matches what's defined in config.xml.

  • Status bar handling is now built-in to Cordova iOS. The StatusBar plugin is no longer required. Whether the status bar is shown or not is controlled by the viewport meta tag's viewport-fit directive. The background color of the status bar is controlled by the theme-color meta tag.

  • Minimum supported iOS version is now 13; minimum Xcode is 15.

General Project Settings

The options within the Cordova App Builder will be updated to reflect the options that are applicable to a CLI build. Make sure to specify the Application ID properly. The Application ID uses reverse domain naming notation and the CLI app folder created will use the app name specified in this string. For example, if the application id is com.alphasoftware.test1, then the CLI project folder created will be test1. Spaces are not allowed, and the name is automatically converted to lower case, per Android conventions.

Cordova CLI version 13.0.0 is required to build iOS apps with Cordova iOS 8.0.0. To update the Cordova CLI version see Upgrading Cordova.

Configure the rest of the options for your application.

You can select a custom app icon (make sure to use a 512px x 512px image) and splash screen or launch image. If nothing is specified, a default icon and splash screen is used.

If you are building an Android App using Cordova Android 13, a single splash screen at a resolution of 2732px x 2732px is required. If you do not specify a Cordova Android 13 splash screen image a default image will be automatically created. The path to this image will be displayed on the 2nd and subsequent invocations of the Cordova App Builder.

The splash screen handling has changed significantly for Cordova Android 11+. All Android-related splash tags in the config.xml file are deprecated and will be removed. The splash screen plugin is also incompatible with Cordova Android 11+ and will be automatically removed if it is enabled.

Cordova Android 11+ requires all apps to use the https protocol for proper operation of ajax callbacks, session variables, session files, and cookies. The Alpha Server must have a valid certificate and a valid domain name.

The Alpha Server must have the Advanced /Sessions / Same Site Mode value set to None (requires use of HTTPS).

Within the Cordova Project Settings, the Host Scheme must be set to https and the Host Name Preference must be the domain name.

Cordova Android 11 and API Level 31 and Android 12 - Security And Privacy Changes - Android 12 (API level 31 and higher) introduced changes to the handling of third-party cookies to provide more security and privacy. These changes impact cookies and session variables in a Cordova App:

  • Cookies without a SameSite attribute are treated as SameSite=Lax.

  • Cookies with SameSite=None must also specify the Secure attribute, meaning they now require a secure context and should be sent over HTTPS.

  • Links between HTTP and HTTPS versions of a site are now treated as cross-site requests, so cookies are not sent unless they are appropriately marked as SameSite=None; Secure.

If you are targeting Android API level 31 or higher, make sure to enable TLS/SSL on your development server and be sure to set Advanced | Sessions | SameSite Mode to None.

Also, for your Android Project, from within the Cordova App Builder Genie, set the Android Host Scheme property to https.

Android Host Scheme and Host Name

Android Host Preference
Android Host Preference

Plugins and Custom Hooks

Specify all of the required plugins for your application. If you are using any plugins that require you to insert a hook, you will need to build the CLI version of the app and then edit the generated source code to include the hook per the plugin documentation. You can then run the Cordova CLI Builder again and update the app.

Once all of the options have been set, select the Save & Launch Cordova CLI Builder button. The Cordova CLI Project Builder Window will appear.

Pg Cli2
Pg Cli2

The Cordova CLI Builder Dialog

Cordova Cli Builder R1
Cordova Cli Builder R1

Build Specifications

The first step is to specify the Target Project Build Folder. This will be the root folder for the CLI generated files. If you have specified an Android build, a subfolder will be created with the name of the app ID. If you have specified an iOS build, an iOS files subfolder will be created with a naming convention of appid_iOS_Files. The generated iOS files need to be transferred to a Mac to build an iOS App

Generate Android Build - Check this option to build a Cordova CLI Android project. Once checked, additional Android project related options will appear.

Generate iOS Build - Check this option to package up all of the app files and generate a BASH script for building a Cordova project on a Mac.

Android Build Options

Update Existing App - If checked and an app with the same app id exists within the target project build folder, then only the /www folder will be updated. This allows you to make changes to the base component and update the app quickly. If this option is unchecked and an existing app with the same app id exists within the target project build folder, then all of the app files are deleted and a new project is built. This includes the installation of all plugins.

Update All Plugins - Enable this option if the Update Existing App option is checked and you have added a new plugin to the project.

Include/Update Custom App Icon or Launch Image - If you have generated and included a custom icon or a custom launch image (splash screen), this option needs to be enabled at least once to copy the icon and launch images to the appropriate Cordova Android platform specific folders. This only needs to be done once, so if you are updating an existing app, you can save time by disabling this option on subsequent updates.

Android Build Type - The build type can be either a Debug Build or a Release Build. For development and testing, use a Debug build. When you are ready to deploy the app to Google Play or through an Enterprise Mobile App Manager, use a Release Build. Release Builds must be signed with the appropriate developer credentials. When you select a Release Build, the Credentials and Options For Signed Release Build category is shown.

Cli Builder Debug
Cli Builder Debug

Production Android Signing Credentials

Before you begin, review the Android app signing requirements: https://developer.android.com/studio/publish/app-signing.html

Keystore - Select the binary file that holds the set of keys.

Keystore Password - Password to the keystore.

Alias - The ID specifying the private key used for signing the app.

Password - Password for the private key specified.

Keystore Type - Default is auto-detect which is based on the file extension. You can also select the specific pkcs12 or jks extension.

Android Release Build
Android Release Build

Post-Build APK Actions

The options in this category determine the actions that take place after the Android Cordova project is completed and the APK file is generated.

Show QR Code To Install APK With Scanner - If you would like to install the app on an Android device, enable this option to generate a QR Code that can be scanned to install the APK file. The generated APK file will be copied to the development server (which must be running) and stored in a folder called apk_files/appID (the name of the app).

Install On Device Or Emulator - This option allows the app to be installed on an emulator (if one has been installed and configured) or on an actual device (if USB debugging has been enabled and the Windows device drivers are working properly). Android devices can be very tricky to setup with Windows due to the numerous device drivers available and large variety of Android devices and operating system versions.

Upload APK To Cloud Storage - If you would like to upload the APK file to storage, such as Amazon S3 or Azure, enable this option. Uploading the APK to storage makes it easy to share with others. The Cloud Storage Properties category will be displayed when this option is enabled.

Pg Cli6
Pg Cli6

Cloud Storage Properties

Method for specifying credentials - You can specify the cloud storage credentials by selecting a Named Storage Connection String or Explicitly providing the credentials. If you select the Named Storage Connection String Option, the Storage Connection string property will appear, allowing you to select a previously defined storage connection string.

Storage connection string - This will be displayed if the named Storage Connection String option is selected above. Choose a storage connection from the dropdown. If no storage connection is listed, you can create one.

Access key - Displayed when the Explicit option for specifying credentials is selected. Enter your Amazon S3 access key.

Secret - Displayed when the Explicit option for specifying credentials is selected. Enter your Amazon S3 secret key.

Bucket - Displayed when the Explicit option for specifying credentials is selected. Enter the Amazon S3 bucket name.

Pg Cli7
Pg Cli7

Generate an Android App Bundle for Google Play

If you are planning to submit your app to the Google Play Store, you must submit an Android App Bundle. As of August 2021, new app submissions to the Google Play store must include Android App Bundles. This requirement only applies to new apps submitted to the Google Play store.

App bundles are created using Android studio. Open the Android Cordova Project in Android Studio for your application and select Build > Build Bundle(s)/APK(s) > Build Bundle(s) from the Android Studio menu.

Android Studio Build Bundle menu
Android Studio Build Bundle menu

Open the Android Project in Android Studio

The Android Cordova Project for your app can be found in the Target Project Build Folder. To open the project, select File > Open from the Android Studio menu. Navigate to the Target Project Build Folder, locate your project, then select the projectName/platforms/android directory.

Android Studio Open File or Project dialog
Android Studio Open File or Project dialog

Google Play Submission Policies

Refer to Google Play Play Policies for more details about Google Play store app submission requirements.

Android Studio Gradle Plugin

Android apps may be built with Android Studio. To do so, launch Android Studio and open the Platforms/Android folder in the directory that contains the Cordova project files.

When opening the project, Android Studio may display a prompt, notifying you of a recommended update to the Android Gradle Plugin.

Android Gradle Update 1
Android Gradle Update 1

When a Gradle Plugin Update Is Required

The Android Gradle Plugin (not to be confused with Gradle) is an Android Studio Plugin that provides additional functionality to Gradle when building Android apps.

The Android Gradle Plugin that works with current Cordova projects is 4.x.x. and it is specified and installed by the Cordova CLI builder. Newer versions will not work with the default Java version specified by Cordova. If you would like to update the Android Studio Plugin, you will need to modify Android Studio to use Gradle JDK Version 11.

If you do not want to upgrade and do not want to be prompted to upgrade the Android Gradle plugin every time you load the project, click the "upgraded" link, then click "Don't remind me again for this project".

Android Gradle Update 2
Android Gradle Update 2

Update the Android Gradle Plugin

if you want to upgrade the Android Studio Gradle plugin to the latest release, click the "Begin Upgrade button" and the Upgrade Assistant will guide you through the process.

Android Gradle Update 3
Android Gradle Update 3

Update the Gradle JDK

Once the Android Studio Gradle is updated, the app will not successfully build until it is configured to use version 11 of the Gradle JDK.

Android Gradle Update 4
Android Gradle Update 4

Update the Gradle JDK Path

To update the Gradle JDK, open the Android Studio Preferences < Build, Execution, Deployment < Build Tools < Gradle menu. Select version 11 for the Gradle JDK. Click the OK button. Your Cordova app will now build with the latest Android Gradle Plugin.

Android Gradle Update 5
Android Gradle Update 5

Cordova iOS Version Comparison

Cordova iOS 7.1.0 is the latest official release for building Cordova iOS applications and it includes support for Xcode 15 and the iOS 16 SDK. The UIWebView code was removed and replaced with the required WKWebView. As such, it does not require the Alpha WKWebView plugin that is used for Cordova iOS 5.1.1 builds.

For further information on the changes made to Cordova iOS 7.0.0 see Cordova iOS 7.0.0 Blog Post

For further information on the changes made to Cordova iOS 7.1.0 see Cordova iOS 7.1.0 Blog Post

iOS Privacy Manifest Overview

As of May 1, 2024, Apple requires a privacy manifest file to be created for apps and third-party SDKs. The purpose of the privacy manifest file is to explain the data being collected and the reasons for the required APIs it uses.

Starting with cordova-ios@7.1.0, APIs are available for configuring the privacy manifest file from the projects config.xml file.

See the links below for a good starting point to learn about the iOS Privacy Manifest:

Required Privacy Manifest Keys

There are 4 major areas that an iOS app developer needs to consider:

  • NSPrivacyTracking

  • NSPrivacyTrackingDomains

  • NSPrivacyCollectedDataTypes

  • NSPrivacyAccessedAPITypes

Background Reading

This article provides a good foundation on the subject:

Add Privacy Manifest Entries in config.xml

In a Cordova app, the privacy manifest is an application wide privacy manifest defined in the projects config.xml file. The developer needs to edit the config.xml file to add the entries that may be required for the app.

In general, the Cordova plugins that are used in the app may have the biggest impact on what needs to be included in the NSPrivacyAccessedAPITypes category.

If the plugin includes a privacy manifest within an iOS source code bundle, then those privacy manifests will be included in the Xcode generated app. Xcode will automatically merge the privacy manifests defined in an iOS bundle in the plugin source code. This makes it easy to install plugins that may need to specify entries in the NSPrivacyAccessedAPITypes category.

If a plugin you are using requires access to any of the API's that require an entry in the NSPrivacyAccessedAPITypes section of the privacy manifest and they do not include a privacy manifest in the plugin source code then it will be up to the developer to determine what API's are being used and why.

At this time, these are the API's that may require an entry in the NSPrivacyAccessedAPITypes section of the privacy manifest file.

  • File Timestamp API's

  • System Boot Time API's

  • Disk Space API's

  • Active Keyboard API's

  • User Default API's

Required API Usage Reasons

See the link below for further information on describing the required API usage reasons.

Generate a New Project for Updated config.xml

To build an app for Cordova iOS 7.1.0, you'll need to create a new project within the Cordova App Builder to be sure to get the latest changes to the config.xml file which will include the privacy manifest entries as shown in the image below:

Cordova App Privacy Manifest
Cordova App Privacy Manifest

Describe Collected Data

If the app is collecting any user data, then it is the responsibility of the iOS app developer to identify information explaining what your app does with the data that it collects.

Define All Four Top-Level Keys

Also, be sure that all four keys are defined even if there are no additions to an item. Apple requires all to be defined.

  • NSPrivacyTracking

  • NSPrivacyCollectedDataTypes

  • NSPrivacyAccessedAPITypes

  • NSPrivacyTrackingDomains

iOS Build Options

iOS Build Options
iOS Build Options

Build Target

Build Target

You have two Build Target options when generating build scripts with the iOS app builder: Xcode or Xcode CLI.

An Xcode build requires you to open the generated app in Xcode to build the app.

An Xcode CLI build uses the Xcode command line (CLI) tools to build, automatically sign and optionally deploy the app to a device or simulator.

iOS Properties
iOS Properties

Automatic Signing for Xcode CLI

Build Target - Options are Xcode or Xcode CLI. If you would like to use the Xcode CLI tools, you must setup Xcode to automatically manage signing and provisioning. This allows Xcode to create and update profiles, IDs, and certificates. If Xcode CLI is selected, additional options are displayed.

For Xcode CLI builds, the following options will be shown:

iOS Build Type For development, select debug. If you are creating an app for submission to the app store, select release.

Install & Run App After Build - Check this option if you would like to install and run the app on a device or a simulator after the build is complete.

Deployment - If the install and run option is checked, you can optionally deploy the app to a simulator or an iOS device connected your Mac.

Simulator Requested - If you are deploying to a simulator, you can optionally request a specific simulator. Make sure the selected simulator is installed and listed in Xcode.

Code Signing Identity - The default value is iPhone Developer, which is used by convention. This value can be changed as required.

Development Team - This value is listed in the upper right hand corner of the Apple Developer Certificates, Identifiers, and Profiles page. The area is highlighted in red below. Visit https://developer.apple.com to create or sign in to your Apple Developer account.

Apple Dev Cip
Apple Dev Cip

Package Type

Package Type - Select development, enterprise, ad-hoc, or app store based on your IPA package type requirements.

Build Output Files

Since iOS builds must be done on a Mac with Xcode installed, the Cordova CLI Builder will package all of the required application files into a zip file (all files and subdirectories contained in the Cordova project /www directory) and generate a Bash script (called build.sh) that builds the Cordova project on a Mac. All required plugins will be installed.

Files are generated in the specified project directory using the naming convention: appID_iOS_Files (appID will be replaced with your app ID).

After files are generated, copy them to your Mac in folder where you would like to build the Cordova project. Then, enter bash build.sh from a Terminal window opened within the folder where the files have been copied. The script will build the project within this folder.

Xcode CLI Builds

If you would like to use the Xcode CLI builds, you must setup at least one Xcode project to use automatic provisioning. Xcode will "remember" this setting and use automatic provisioning for any future Xcode CLI builds. To setup automatic provisioning, open the platforms/ios/appID.xcodeproj with Xcode. In the Signing and Capabilities tab, check Automatically manage signing. Make sure the Provisioning Profile is set to Xcode Managed Profile. Do this for Debug and Release builds. You will now be able to successfully build and install iOS apps using the Xcode CLI tools. This bypasses the requirement to open and build the app in Xcode.

For a video overview on using the Xcode CLI builder, see https://youtu.be/qzngU4SvC74

Xcode Auto Provision
Xcode Auto Provision

Standard Xcode Builds

Once the project files are created, the Xcode project may be opened in Xcode by double clicking the App.xcworkspace file in the platforms/ios folder. Note: As of Cordova iOS 8.0.0, the project name is statically set to App.

You can now build the project in Xcode and install, run, and test on the iOS simulator or any iOS device provisioned for development on your Mac.

If you have included new plugins, you can either delete the existing Xcode project and run bash build.sh script again, or you can install the plugins with the Cordova CLI command cordova plugins install nameOfPlugin entered from the project root folder in Terminal.

  • Updating an existing Xcode project - If the Xcode project exists and you have made a change to any of the app files within Alpha Anywhere (such as modifying the base component), run the CLI builder again and copy the zip file over to your Mac. Extract the files into the platforms/ios/www folder, overwriting the existing files. You do not need to run the bash build.sh script a second time unless you have included new plugins.

Xcode Supported Destinations and TestFlight Errors

The versions of Xcode 15 (released Sept. 2023) and later have changed the default selections for the project's supported destinations. The default supported destinations now include Mac (Designed for iPad) and Apple Vision (Designed for iPad / visionOS) .

Apple introduced these new default deployment targets alongside the announcement of the Apple Vision Pro and the release of macOS Sonoma, making them standard starting with the Xcode 15 release cycle (gaining full visionOS release support in Xcode 15.2).

If your intention is to build a Cordova app for an iPhone or an iPad and you are not building apps for the Mac or Apple Vision, then you should uncheck these options in Xcode under General > Supported Destinations.

If you upload your app to TestFlight and you see an error rejecting your TestFlight build with errors indicating a missing LSApplicationCategoryType key and a disabled com.apple.security.app-sandbox, these are typically only required for macOS apps, not iOS apps. Unchecking the Mac destination before building will prevent these errors.

Cordova CLI 13.0.0 Update

Why This Update Matters

Cordova CLI 13.0.0 was released on November 25, 2025 and should be installed on both Windows and macOS based systems to ensure compatibility with the latest Cordova iOS release.

Major Changes in Cordova CLI 13.0.0

The most notable changes in Cordova CLI 13.0.0 include:

  • Updated npm dependencies

  • Increased Node.js engine requirement to >= 20.17.0

  • Removed telemetry

Upgrade Commands

To upgrade a global Cordova CLI installation, from a command prompt:

  • npm uninstall -g cordova

  • npm install -g cordova@latest

Cordova CLI Release Notes

For further details see: Cordova CLI 13.0.0 Released

Cordova iOS 8.0.0 Update

Overview of the Cordova iOS 8.0.0 Update

The Cordova App Builder will now build iOS apps using Cordova iOS 8.0.0. This is Cordova's platform that supports the development of applications for iOS and iPadOS. The update now includes better support for the latest iOS platform features.

Minimum Requirements

Updated Minimum Versions

  • The minimum supported iOS version is now 13

  • The minimum supported Xcode version is now 15

  • The minimum supported NodeJS version is now 20.17

Project Naming Changes

Project Name Is Now App

The Xcode project and build target are now always named App.

Why the Naming Change Matters

This resolves numerous issues around CocoaPods, multi-target projects, and Info.plist additions, but potentially breaks some hooks that assume the project name matches what's defined in config.xml.

New Platform Support

Additional Platform Capabilities

  • The platform project now supports building for macOS using Catalyst

  • The platform project has adopted the iOS Scene APIs, which are required for iOS 26 support

  • CordovaLib (used as a library) supports targeting the visionOS platform

Built-in Status Bar Handling

Status Bar Behavior

Status bar handling is now built-in to Cordova iOS, and the StatusBar plugin is no longer required in most cases. Whether the status bar is shown or not is controlled by the viewport meta tag's viewport-fit directive. The background color of the status bar is controlled by the theme-color meta tag.

App Icon Simplification

Single Icon Workflow

  • Projects can now provide a single 1024px × 1024px icon in config.xml

  • Projects building with Xcode 16 or newer can provide monochrome and dark mode icon variants

Icon Composer Limitation

Cordova iOS 8.0.0 does not include support for the new Xcode 26 Icon Composer file format at this time.

Cordova iOS Release Notes

For further details see: Cordova iOS 8.0.0 Released

Cordova Plugin Updates

cordova-plugin-file-transfer

cordova-plugin-file-transfer

The cordova-plugin-file-transfer plugin has been updated to version 2.0.1 for compatibility with Cordova iOS version 8.0.0 and Xcode version 26.0.

cordova-plugin-inappbrowser

cordova-plugin-inappbrowser

The cordova-plugin-inappbrowser plugin has been updated to version 6.0.1 for compatibility with Cordova iOS version 8.0.0 and Xcode version 26.0.

Further Reading

Cordova Android Platform Guide

For more information, review the Cordova Android Platform Guide.

See https://cordova.apache.org/docs/en/latest/guide/platforms/android/

Official Cordova Documentation

For more information on Cordova CLI development, review the official Cordova Documentation.

See https://cordova.apache.org/docs/en/latest/guide/overview/index.html

Videos

Alpha DevCon 2022: Keeping Up With Cordova

Alpha DevCon 2022: Keeping Up With Cordova

2022 Cordova Mobile App Development Presentation by Bob Moore, VP of Mobile Development, Alpha Software, Inc.

Nov 8, 2022