Fastlane is an open-source automation platform for iOS and Android app deployment, originally created by Felix Krause, later acquired by Google, and now maintained under the Mobile Native Foundation. It eliminates manual tedious tasks like code signing, building, testing, screenshot generation, and app store submissions by providing a Ruby-based DSL that defines reproducible workflows called lanes. Built around 170+ actions, Fastlane integrates seamlessly with CI/CD systems, handles both Apple's complex provisioning system and Android's signing mechanisms, and allows teams to codify their entire release pipeline in version-controlled configuration files—making deployments consistent, auditable, and accessible to any team member regardless of platform expertise. As of fastlane 2.201.0+, xcbeautify replaces xcpretty as the recommended build formatter, and the App Store Connect API key is the preferred authentication method over Apple ID passwords.
What This Cheat Sheet Covers
This topic spans 23 focused tables and 178 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Core Configuration Files
Fastlane's configuration files are placed in the ./fastlane/ directory and read automatically; each file handles a distinct concern so the Fastfile stays clean and focused on workflow logic.
| File | Example | Description |
|---|---|---|
lane :beta do build_app upload_to_testflightend | • Primary configuration file defining all lanes, actions, and workflows • uses Ruby syntax and must live in ./fastlane/. | |
app_identifier "com.example.app"apple_id "dev@example.com"team_id "ABC123DEF4" | Stores app-specific metadata used across all actions — bundle identifier, Apple ID, team ID — keeping Fastfile clean. | |
git_url "https://github.com/company/certs"storage_mode "git"type "appstore" | • Configuration for match code signing • defines storage backend ( git, s3, google_cloud) and certificate types. | |
scheme "MyApp"export_method "app-store"output_directory "./build" | • Build configuration for gym (build_app)• specifies scheme, export method, output path, and xcodebuild_formatter. | |
price_tier 0submit_for_review trueautomatic_release true | • Controls App Store submission options • defines release mode, phased rollout, automatic review submission, and metadata update behavior |