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
Name | Type | Default | Description |
---|---|---|---|
--app-id [required] | string | Appflow app id | |
--app-bundle-id | string | Native config application bundle ID. Example: com.company.app | |
--app-file | boolean | false | Download app file (simulator builds only) |
--app-file-name | string | Download app and rename file (simulator builds only). Example: myapp.app | |
--app-name | string | Native config application name | |
--build-stack | string | Target 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 | |
--commit | string | Commit sha | |
--dependency-caching | boolean | false | Enabled NPM caching |
--detached | boolean | false | Asynchronously run appflow build |
--dsym | boolean | false | Download dsym zip file |
--dsym-name | string | Download dsym zip and rename file. Example: myapp.dsym.zip | |
--env | string[] | [] | Variables to expose to your build. Variables defined this way override those loaded using the env-file flag. Example: --env VAR=value |
--env-file | string[] | [] | Files declaring environment variables to expose to your build. Variables from later files overwrite variables from earlier files. |
--environment | string | The name of the predefined Appflow Environment to expose to your build | |
--ipa | boolean | false | Download ipa file |
--ipa-name | string | Download ipa and rename file. Example: myapp.ipa | |
--live-update-app-id | string | Appflow application ID | |
--live-update-channel-name | string | Live Update channel name | |
--live-update-disable-deploy | boolean | false | Disable Live Updates from being applied |
--live-update-max-store | number | 2 | Number of previous Live Updates that can be stored on a device |
--live-update-method | string | "background" | Live Update method to determine how the app will check for and apply updates, "background", "auto", or "none" |
--live-update-min-background-duration | number | 30 | Number of seconds the app needs to be in the background for it to have been considered "closed" |
--native-app-preview | boolean | false | Enable app preview directly in the browser via a secure public URL with Appetize (only compatible with simulator builds) |
--native-config | string | The name of the native config to use for the build. Native configs are defined in the UI. | |
--secret | string[] | [] | Secrets to expose to your build. Example: --secret VAR=value |
--signing-cert | string | Signing certificate (not required for simulator builds) | |
--webhook-url | string | Schedules a webhook that executes after the build finishes. The payload will include a URL for downloading build artifacts if the build succeeds. | |
--xcarchive | boolean | false | Download xcarchive zip file |
--xcarchive-name | string | Download xcarchive zip and rename file. Example: myapp.xcarchive.zip |
Global Flags
Name | Type | Default | Description |
---|---|---|---|
-h, --help | boolean | false | Print help information for command |
--config | string | Ionic Cloud config file (.ionic-cloud.yaml by default) | |
--json | boolean | false | For commands with output, shortcut to print as JSON |
--output | string | "text" | For commands with output, print as [json] or human readable [text] |
--token | string | Ionic authorization token |
Outputs
Name | Type | Description |
---|---|---|
appId | string | Your app's unique identifier in Appflow. |
buildId (optional) | number | A unique identifier for a build done in Appflow. |
buildNumber (optional) | number | An 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. |
commit | string | The commit hash. |
buildStack | object | A Build Stack in Appflow. |
.name | string | The friendly name for a Build Stack in Appflow. |
.dependencies (optional) | object[] | The list of pinned software versions for a Build Stack in Appflow. |
.name | string | The name of a software used by a Build Stack in Appflow. |
.version | string | The pinned version of a software used by a Build Stack in Appflow. |
environment (optional) | object | The Environment for your build in Appflow. |
.name | string | The 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) | boolean | Whether or not dependency caching was enabled for this build. |
webhooks (optional) | object[] | List of associated webhooks. |
.url | string | The URL of the associated webhook. |
.status | generated.BuildNotificationStatus | The status of the associated webhook. |
signingCert (optional) | string | The signing certificate used by Appflow to deploy a build to the App Stores. |
buildType | string | The kind of native build done by Appflow, e.g. dev or release builds. |
nativeConfig (optional) | object | A Native Config to manipulate your build in Appflow. |
.name (optional) | string | The name of a Native Config you've created in Appflow. |
.ionic (optional) | object | These Native Config variables allow you to override properties used by the Live Updates Plugin. |
.channelName (optional) | string | The name of a channel that hosts Live Updates. |
.minBackgroundDuration (optional) | number | The number of seconds the app needs to be in the background before the Live Updates Plugin considers it closed. |
.updateMethod (optional) | string | The update method for the Live Updates Plugin to use. |
.appId (optional) | string | Your app's unique identifier in Appflow. |
.maxStore (optional) | number | The maximum number of updates for the Live Updates Plugin to store on the device. |
.disableDeploy (optional) | boolean | Whether the Live Updates Plugin should be disabled or not. |
.base (optional) | object | These Native Config variables allow you to override properties on a Native Build. |
.name (optional) | string | Override the home screen name for a Native Build. |
.bundleId (optional) | string | Override the bundle identifier for a Native Build. |
appetizeUrl (optional) | string | The 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
}