Skip to content

Environment Variables

Organization-level variables

These must be set by the organization's adapter Fastfile (the private repo that imports ios-fastlane).

Variable Required Description
USER_EMAIL Yes Apple ID email for App Store Connect and Developer Portal operations
TEAM_ID Yes Apple Developer Team ID
ASC_TEAM_ID Yes App Store Connect Team ID
MATCH_GIT_URL Yes Git URL of the match certificates repository
MATCH_GIT_BRANCH Yes Default branch in the certificates repository (e.g., master)
DEVICE_LIST_GIT_URL Yes Git URL of the repository containing device-list.txt
DEVICE_LIST_GIT_BRANCH Yes Branch to check out device-list.txt from

Project-level variables

These are set by each consumer project's Fastfile or .env file.

Variable Required Description
APP_IDENTIFIER Yes Base bundle identifier (e.g., app.futured.myapp)
APP_SCHEME Yes Xcode scheme name
APP_NAME Yes Application name for build outputs
MATCH_PASSWORD Yes Password for decrypting match certificates (set in CI secrets or .env, not in Fastfile)

Optional project variables

Variable Description
APP_IDENTIFIER_CUSTOMER Customer's bundle identifier (for client-owned accounts)
TEAM_ID_CUSTOMER Customer's Apple Developer Team ID
ASC_TEAM_ID_CUSTOMER Customer's App Store Connect Team ID
CUSTOMERS_BRANCH Git branch in certificates repo for customer certificates
APP_EXTENSIONS Comma-separated list of app extension names
VERSION_NUMBER Marketing version number (defaults to 1.0.0 if unset; CI typically sets this from the release tag)

CI / build-time variables

Variable Description
CHANGELOG TestFlight changelog for beta builds
XCODE_VERSION Specific Xcode version to select
FL_BUILD_NUMBER_PROJECT Path to Xcode project file (if not in root or multiple exist)
APOLLO_CODEGEN_CONFIG_PATH Path to Apollo GraphQL codegen config

Customization variables

These allow per-project overrides of default action parameters via JSON strings.

Variable Affects Example
ADDITIONAL_BUILD_SETTINGS build_ios_app parameters '{"derived_data_path": "./CustomDerivedData"}'
ADDITIONAL_CODE_SIGNING_SETTINGS sync_code_signing parameters '{"readonly": true}'
ADDITIONAL_TESTS_SETTINGS run_tests parameters '{"destination": "platform=iOS Simulator,name=iPhone 15"}'

App identifier conventions

Configuration Bundle ID
Debug APP_IDENTIFIER
Beta APP_IDENTIFIER.beta
Release APP_IDENTIFIER_CUSTOMER (if customer account) or APP_IDENTIFIER

App extensions follow the same pattern with the extension name appended (e.g., APP_IDENTIFIER.beta.widget).

Variable Reference

Variable Used by
APOLLO_CODEGEN_CONFIG_PATH generate_graphql_operations
APP_EXTENSIONS create_apps_for_extension
APP_IDENTIFIER bump (private), create_apps_online (private), provisioning, release, update_provisioning, update_release_provisioning
APP_IDENTIFIER_CUSTOMER bump (private), create_apps_online (private), release, update_release_provisioning
APP_NAME beta, create_apps_online (private), release
APP_SCHEME beta, bump (private), release, test
ASC_TEAM_ID beta, bump (private), create_apps_online (private), release
ASC_TEAM_ID_CUSTOMER bump (private), create_apps_online (private), release
CHANGELOG beta
CUSTOMERS_BRANCH release, update_release_provisioning
DEVICE_LIST_GIT_BRANCH update_provisioning
DEVICE_LIST_GIT_URL update_provisioning
FL_BUILD_NUMBER_PROJECT bump (private)
MATCH_GIT_BRANCH beta, provisioning, release, update_provisioning, update_release_provisioning
MATCH_GIT_URL beta, provisioning, release, update_provisioning, update_release_provisioning
MATCH_PASSWORD beta, configure_keychain (private), provisioning, release, update_provisioning, update_release_provisioning
TEAM_ID beta, create_apps_online (private), provisioning, release, update_provisioning, update_release_provisioning
TEAM_ID_CUSTOMER create_apps_online (private), release, update_release_provisioning
USER_EMAIL beta, bump (private), create_apps_online (private), provisioning, release, update_provisioning, update_release_provisioning
VERSION_NUMBER bump (private)
XCODE_VERSION dependencies (private)