Skip to main content

ionic-cloud build ios

[ionic-cloud, build, ios]

This command creates an iOS build on Appflow. While the build is running, it prints the remote build log to the terminal

ionic-cloud build ios [ad-hoc, app-store, development, enterprise, simulator] [flags]

Examples

ionic-cloud build ios development --app-id=a1234bc --commit=a9eb85e --signing-cert="iOS Signing Certificate Name"
ionic-cloud build ios app-store --app-id=b3456cd --commit=4c511f1 --signing-cert="iOS Signing Certificate Name"
ionic-cloud build ios app-store --app-id=b3456cd --commit=4c511f1 --signing-cert="iOS Signing Certificate Name" --ipa --ipa-name=my_custom_file_name.ipa
ionic-cloud build ios development --app-id=a1234bc --commit=a9eb85e --signing-cert="iOS Signing Certificate Name" --build-stack="iOS - Xcode 9"
ionic-cloud build ios simulator --app-id=a1234bc --commit=a9eb85e --app-file-name=my_custom_file_name.app --webhook-url="http://webhook.com/test"

Flags

NameTypeDefaultDescription
--app-id [required]stringAppflow app id
--app-bundle-idstringNative config application bundle ID. Example: com.company.app
--app-filebooleanfalseDownload app file (simulator builds only)
--app-file-namestringDownload app and rename file (simulator builds only). Example: myapp.app
--app-namestringNative config application name
--build-stackstringTarget platform ("macOS - 2023.10" / "macOS - 2023.10 - Apple silicon" / "macOS - 2023.09 - Apple silicon" / "macOS - 2023.09" / "macOS - 2023.06 - Apple silicon" / "macOS - 2023.06" / "macOS - 2023.03" / "macOS - 2022.10" / "macOS - 2022.09"), defaults to latest stack
--commitstringCommit sha
--dependency-cachingbooleanfalseEnabled NPM caching
--detachedbooleanfalseAsynchronously run appflow build
--dsymbooleanfalseDownload dsym zip file
--dsym-namestringDownload dsym zip and rename file. Example: myapp.dsym.zip
--envstring[][]Variables to expose to your build. Variables defined this way override those loaded using the env-file flag. Example: --env VAR=value
--env-filestring[][]Files declaring environment variables to expose to your build. Variables from later files overwrite variables from earlier files.
--environmentstringThe name of the predefined Appflow Environment to expose to your build
--ipabooleanfalseDownload ipa file
--ipa-namestringDownload ipa and rename file. Example: myapp.ipa
--live-update-app-idstringAppflow application ID
--live-update-channel-namestringLive Update channel name
--live-update-disable-deploybooleanfalseDisable Live Updates from being applied
--live-update-max-storenumber2Number of previous Live Updates that can be stored on a device
--live-update-methodstring"background"Live Update method to determine how the app will check for and apply updates, "background", "auto", or "none"
--live-update-min-background-durationnumber30Number of seconds the app needs to be in the background for it to have been considered "closed"
--native-app-previewbooleanfalseEnable app preview directly in the browser via a secure public URL with Appetize (only compatible with simulator builds)
--native-configstringThe name of the native config to use for the build. Native configs are defined in the UI.
--secretstring[][]Secrets to expose to your build. Example: --secret VAR=value
--signing-certstringSigning certificate (not required for simulator builds)
--webhook-urlstringSchedules a webhook that executes after the build finishes. The payload will include a URL for downloading build artifacts if the build succeeds.
--xcarchivebooleanfalseDownload xcarchive zip file
--xcarchive-namestringDownload xcarchive zip and rename file. Example: myapp.xcarchive.zip

Global Flags

NameTypeDefaultDescription
-h, --helpbooleanfalsePrint help information for command
--configstringIonic Cloud config file (.ionic-cloud.yaml by default)
--jsonbooleanfalseFor commands with output, shortcut to print as JSON
--outputstring"text"For commands with output, print as [json] or human readable [text]
--tokenstringIonic authorization token

Outputs

NameTypeDescription
appIdstringYour app's unique identifier in Appflow.
buildId (optional)numberA unique identifier for a build done in Appflow.
buildNumber (optional)numberAn app-specific build number for builds done in Appflow.
buildStatus"CREATED" | "PENDING" | "RUNNING" | "BUILDING" | "FAILED" | "SUCCESS" | "CANCELED"The current state of your build in Appflow.
platform"ANDROID" | "IOS" | "WEB"The ecosystem you are building for.
commitstringThe commit hash.
buildStackobjectA Build Stack in Appflow.
.namestringThe friendly name for a Build Stack in Appflow.
.dependencies (optional)object[]The list of pinned software versions for a Build Stack in Appflow.
.namestringThe name of a software used by a Build Stack in Appflow.
.versionstringThe pinned version of a software used by a Build Stack in Appflow.
environment (optional)objectThe Environment for your build in Appflow.
.namestringThe name of an Environment you've created in Appflow.
.files (optional)string[]The list of local environment files provided to this command.
.variables (optional){ "string": string, ... }The combined list of all environment variables used for a build.
.secrets (optional){ "string": string, ... }The combined list of all environment secrets used for a build. The key values are not downloaded; the key names are just displayed for reference.
artifacts (optional){ "APK": string, ... }All artifacts that were saved by Appflow during a build, and are available for download.
dependencyCaching (optional)booleanWhether or not dependency caching was enabled for this build.
webhooks (optional)object[]List of associated webhooks.
.urlstringThe URL of the associated webhook.
.statusgenerated.BuildNotificationStatusThe status of the associated webhook.
signingCert (optional)stringThe signing certificate used by Appflow to deploy a build to the App Stores.
buildTypestringThe kind of native build done by Appflow, e.g. dev or release builds.
nativeConfig (optional)objectA Native Config to manipulate your build in Appflow.
.name (optional)stringThe name of a Native Config you've created in Appflow.
.ionic (optional)objectThese Native Config variables allow you to override properties used by the Live Updates Plugin.
.channelName (optional)stringThe name of a channel that hosts Live Updates.
.minBackgroundDuration (optional)numberThe number of seconds the app needs to be in the background before the Live Updates Plugin considers it closed.
.updateMethod (optional)stringThe update method for the Live Updates Plugin to use.
.appId (optional)stringYour app's unique identifier in Appflow.
.maxStore (optional)numberThe maximum number of updates for the Live Updates Plugin to store on the device.
.disableDeploy (optional)booleanWhether the Live Updates Plugin should be disabled or not.
.base (optional)objectThese Native Config variables allow you to override properties on a Native Build.
.name (optional)stringOverride the home screen name for a Native Build.
.bundleId (optional)stringOverride the bundle identifier for a Native Build.
appetizeUrl (optional)stringThe URL of the Appetize preview.
Successful Output
{
"appId": "052b32ac",
"buildId": 6010455,
"buildNumber": 25,
"buildStatus": "SUCCESS",
"platform": "IOS",
"commit": "cef1sdca",
"buildStack": {
"name": "macOS - 2023.03",
"dependencies": [
{
"name": "Cordova CLI",
"version": "11.1.0"
},
{
"name": "Ionic CLI",
"version": "6.20.9"
},
{
"name": "Node.js",
"version": "18.15.0"
},
{
"name": "Node.js versions",
"version": "14.21.3 / 16.19.1 / 18.15.0"
},
{
"name": "npm",
"version": "8.19.4"
},
{
"name": "Yarn",
"version": "1.22.19"
},
{
"name": "Python",
"version": "3"
},
{
"name": "macOS",
"version": "12.6"
},
{
"name": "Carthage",
"version": "0.38.0"
},
{
"name": "CocoaPods",
"version": "1.12.0"
},
{
"name": "Xcode",
"version": "14.2"
}
]
},
"environment": {
"name": "Test Environment",
"files": [
".env-file1",
".env-file2"
],
"variables": {
"Var1": "value1",
"Var2": "value2"
},
"secrets": {
"Sec1": "********",
"Sec2": "********"
}
},
"artifacts": {
"IPA": "ionic-app-main-cef1sdca-development.ipa"
},
"dependencyCaching": null,
"webhooks": null,
"signingCert": "iOS Signing Certificate Name",
"buildType": "DEVELOPMENT",
"nativeConfig": {
"name": "Default Configuration",
"ionic": {
"channelName": "Production",
"minBackgroundDuration": 30,
"updateMethod": "auto",
"appId": "052b32ac",
"maxStore": 3,
"disableDeploy": false
},
"base": {
"name": "Ionic App",
"bundleId": "com.ionicapp.bundle"
}
},
"appetizeUrl": null
}
Detached Output
{
"appId": "052b32ac",
"buildId": 6010455,
"buildNumber": 25,
"buildStatus": "CREATED",
"platform": "IOS",
"commit": "cef1sdca",
"buildStack": {
"name": "macOS - 2023.03",
"dependencies": [
{
"name": "Cordova CLI",
"version": "11.1.0"
},
{
"name": "Ionic CLI",
"version": "6.20.9"
},
{
"name": "Node.js",
"version": "18.15.0"
},
{
"name": "Node.js versions",
"version": "14.21.3 / 16.19.1 / 18.15.0"
},
{
"name": "npm",
"version": "8.19.4"
},
{
"name": "Yarn",
"version": "1.22.19"
},
{
"name": "Python",
"version": "3"
},
{
"name": "macOS",
"version": "12.6"
},
{
"name": "Carthage",
"version": "0.38.0"
},
{
"name": "CocoaPods",
"version": "1.12.0"
},
{
"name": "Xcode",
"version": "14.2"
}
]
},
"environment": {
"name": "Test Environment",
"files": [
".env-file1",
".env-file2"
],
"variables": {
"Var1": "value1",
"Var2": "value2"
},
"secrets": {
"Sec1": "********",
"Sec2": "********"
}
},
"artifacts": {},
"dependencyCaching": null,
"webhooks": null,
"signingCert": "iOS Signing Certificate Name",
"buildType": "DEVELOPMENT",
"nativeConfig": {
"name": "Default Configuration",
"ionic": {
"channelName": "Production",
"minBackgroundDuration": 30,
"updateMethod": "auto",
"appId": "052b32ac",
"maxStore": 3,
"disableDeploy": false
},
"base": {
"name": "Ionic App",
"bundleId": "com.ionicapp.bundle"
}
},
"appetizeUrl": null
}