Release
release
Submit a release build to App Store connect.
bundle exec fastlane release
Options
| Option | Type | Description |
|---|---|---|
build_number |
Integer | Custom build number (skips auto-increment from TestFlight) |
version_number |
String | Custom version number (skips ENV['VERSION_NUMBER']) |
Environment Variables
| Variable |
|---|
APP_IDENTIFIER |
APP_IDENTIFIER_CUSTOMER |
APP_NAME |
APP_SCHEME |
ASC_TEAM_ID |
ASC_TEAM_ID_CUSTOMER |
CUSTOMERS_BRANCH |
MATCH_GIT_BRANCH |
MATCH_GIT_URL |
MATCH_PASSWORD |
TEAM_ID |
TEAM_ID_CUSTOMER |
USER_EMAIL |
Details
What it does
- Configures App Store Connect API key
- Installs dependencies (Xcode version, CocoaPods if needed)
- Generates GraphQL operations if configured
- Increments build number based on latest TestFlight build (or uses custom
build_number) - Sets version from
VERSION_NUMBERenv var, or uses customversion_number - Creates a temporary CI keychain
- Syncs appstore provisioning profiles:
- Own account: Uses
MATCH_GIT_BRANCHandAPP_IDENTIFIER - Customer account: Uses
CUSTOMERS_BRANCHandAPP_IDENTIFIER_CUSTOMER
- Own account: Uses
- Builds the app using the Xcode scheme's default configuration
- Uploads the
.ipato TestFlight (no changelog — unlike beta, release builds do not include TestFlight release notes)
Own account vs. customer account
The release lane automatically detects the account type:
- No
APP_IDENTIFIER_CUSTOMERset: Builds with your organization's team ID and uploads to your App Store Connect APP_IDENTIFIER_CUSTOMERset: Uses the customer's team ID, certificate branch, and App Store Connect account
See Customer Accounts for detailed setup instructions.