Skip to main content

Overview

fastlane includes a suite of powerful standalone command-line tools that can be used independently or as part of your fastlane lanes. Each tool focuses on a specific aspect of app development and deployment.
All tools can be used standalone via CLI or integrated into your Fastfile as actions.

iOS & macOS Tools

deliver

Upload screenshots, metadata, and binaries to App Store Connect

gym

Build and package iOS, macOS, tvOS, and watchOS apps

scan

Run tests for your iOS and Mac apps with ease

match

Sync code signing certificates and profiles across your team

snapshot

Automate taking localized screenshots of your iOS app

frameit

Put your screenshots into beautiful device frames

pem

Automatically generate and renew push notification profiles

sigh

Create, renew, download and repair provisioning profiles

cert

Automatically create and maintain iOS code signing certificates

pilot

Manage TestFlight builds and testers

produce

Create new iOS apps on App Store Connect and Developer Portal

precheck

Check your app’s metadata before submitting to review

Android Tools

supply

Upload Android apps and metadata to Google Play Store

screengrab

Automate taking localized screenshots of your Android app

Cross-Platform Tools

spaceship

Ruby library to access Apple Developer Center and App Store Connect APIs

How Tools Work Together

Complete iOS Release Pipeline

lane :release do
  # 1. Sync code signing
  match(type: "appstore")
  
  # 2. Run tests
  scan
  
  # 3. Take screenshots
  snapshot
  
  # 4. Frame screenshots
  frameit
  
  # 5. Build the app
  gym
  
  # 6. Upload to App Store
  deliver
end

TestFlight Beta Pipeline

lane :beta do
  # 1. Get certificates
  match(type: "appstore")
  
  # 2. Build the app
  gym
  
  # 3. Upload to TestFlight
  pilot
end

Android Release Pipeline

lane :android_release do
  # 1. Take screenshots
  screengrab
  
  # 2. Upload to Play Store
  supply
end

Tools vs Actions

Standalone Tools

Tools can be run directly from the command line:
fastlane gym
fastlane scan
fastlane match appstore
fastlane deliver

As fastlane Actions

The same tools can be used as actions in your Fastfile:
lane :build do
  gym(scheme: "MyApp")
  scan(scheme: "MyApp")
end

Naming Conventions

Some tools have action aliases:
  • gymbuild_app or build_ios_app
  • scanrun_tests
  • snapshotcapture_screenshots
  • deliverupload_to_app_store
  • pilotupload_to_testflight
  • supplyupload_to_play_store

When to Use Which Tool

  • gym: Build iOS, macOS, tvOS, watchOS apps
  • Generates .ipa or .pkg files
  • Handles code signing automatically
  • scan: Run unit and UI tests
  • Generate test reports (HTML, JUnit, JSON)
  • Perfect for CI/CD integration
  • match: Team-wide certificate sync (recommended)
  • cert: Individual certificate management
  • sigh: Provisioning profile management
  • deliver: Upload to App Store with metadata
  • pilot: Upload to TestFlight
  • precheck: Validate metadata before submission
  • snapshot: Capture iOS screenshots automatically
  • screengrab: Capture Android screenshots
  • frameit: Add device frames to screenshots
  • produce: Create new apps in portals
  • pem: Manage push certificates
  • spaceship: Direct API access (advanced)
  • supply: Upload APK/AAB to Play Store
  • screengrab: Take Android screenshots

Configuration Files

Most tools support configuration files:
  • Deliverfile - deliver configuration
  • Gymfile - gym build settings
  • Scanfile - scan test settings
  • Matchfile - match certificate settings
  • Snapfile - snapshot screenshot settings
  • Screengrabfile - screengrab settings
  • Supplyfile - supply upload settings
Create with fastlane [tool] init:
fastlane gym init
fastlane scan init
fastlane match init

Environment Variables

All tools support environment variables for configuration:
# Example: Configure gym via environment
export GYM_SCHEME="MyApp"
export GYM_OUTPUT_DIRECTORY="./build"
fastlane gym
See individual tool documentation for specific environment variables.

Getting Help

Each tool has built-in help:
fastlane [tool] --help
Examples:
fastlane gym --help
fastlane scan --help
fastlane match --help

Build docs developers (and LLMs) love