Skip to main content

appflow build ios

[appflow, build, ios]

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

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

Examples

appflow build ios development --app-id=a1234bc --commit=a9eb85e --signing-cert="iOS Signing Certificate Name"
appflow build ios app-store --app-id=b3456cd --commit=4c511f1 --signing-cert="iOS Signing Certificate Name"
appflow build ios app-store --app-id=b3456cd --commit=4c511f1 --signing-cert="iOS Signing Certificate Name" --ipa --ipa-name=my_custom_file_name.ipa
appflow build ios development --app-id=a1234bc --commit=a9eb85e --signing-cert="iOS Signing Certificate Name" --build-stack="iOS - Xcode 9"
appflow 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 - 2024.04 - Apple silicon" / "macOS - 2024.04" / "macOS - 2023.10 - Apple silicon" / "macOS - 2023.10" / "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
--configstringAppflow config file (.appflow.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.
.namestringThe name of a Native Config you've created in Appflow.
.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.
.liveUpdatesConfig (optional)objectThese Native Config variables allow you to override properties used by the Live Updates Plugin.
.appId (optional)stringYour app's unique identifier in Appflow.
.channelName (optional)stringThe name of a channel that hosts Live Updates.
.maxStore (optional)numberThe maximum number of updates for the Live Updates Plugin to store on the device.
.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.
.disableDeploy (optional)booleanWhether the Live Updates Plugin should be disabled or not.
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",
"base": {
"name": "Ionic App",
"bundleId": "com.ionicapp.bundle"
},
"liveUpdatesConfig": {
"appId": "052b32ac",
"channelName": "Production",
"maxStore": 3,
"minBackgroundDuration": 30,
"updateMethod": "auto",
"disableDeploy": false
}
},
"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",
"base": {
"name": "Ionic App",
"bundleId": "com.ionicapp.bundle"
},
"liveUpdatesConfig": {
"appId": "052b32ac",
"channelName": "Production",
"maxStore": 3,
"minBackgroundDuration": 30,
"updateMethod": "auto",
"disableDeploy": false
}
},
"appetizeUrl": null
}