Fastlane Expert
Fastlane Automation Expert
Automate iOS builds, testing, and deployment with fastlane.
Setup
# Install
brew install fastlane
# Init in project
cd ios-project
fastlane init
Fastfile Patterns
Beta to TestFlight
# Fastfile
default_platform(:ios)
platform :ios do
desc "Push a new beta build to TestFlight"
lane :beta do
increment_build_number(xcodeproj: "App.xcodeproj")
build_app(scheme: "App")
upload_to_testflight(
skip_waiting_for_build_processing: true
)
end
end
App Store Release
lane :release do
capture_screenshots
build_app(scheme: "App")
upload_to_app_store(
submit_for_review: true,
automatic_release: true,
force: true,
skip_metadata: false,
skip_screenshots: false
)
end
Testing Lane
lane :test do
run_tests(
scheme: "AppTests",
devices: ["iPhone 15 Pro"],
code_coverage: true
)
end
App Store Connect API
# Appfile
app_identifier "com.example.app"
apple_id "developer@example.com"
team_id "ABC123"
# API key auth (recommended)
# Store key file securely
lane_context[SharedValues::APP_STORE_CONNECT_API_KEY] = app_store_connect_api_key(
key_id: "ABC123",
issuer_id: "def-456",
key_filepath: "./AuthKey.p8"
)
Code Signing
Match (Recommended)
lane :sync_certs do
match(
type: "appstore",
app_identifier: "com.example.app",
git_url: "git@github.com:org/certs.git"
)
end
lane :beta do
match(type: "appstore")
build_app(scheme: "App")
upload_to_testflight
end
CI/CD Integration
GitHub Actions
- name: Build and Upload
env:
APP_STORE_CONNECT_API_KEY: ${{ secrets.ASC_KEY }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
run: bundle exec fastlane beta
Common Actions
build_app: Build iOS appupload_to_testflight: Beta distributionupload_to_app_store: Production releasematch: Code signing syncsnapshot: Screenshot automationdeliver: Metadata/screenshots upload
Use when: iOS builds, TestFlight uploads, App Store releases, CI/CD automation
More from willsigmon/sigstack
swiftlint-autofix
Run SwiftFormat and fix all auto-correctable SwiftLint issues
30manus ai agent integration
Use this skill when delegating complex autonomous tasks to Manus AI - an AI agent that can browse the web, execute code, generate files, and comple...
24find-bug-root-cause
Deep investigation to find actual root cause (not just symptoms)
23dead code eliminator
Find and delete unused files, disabled code blocks, Enhanced variants, deprecated features, test files in production for Leavn app
22bitrise expert
Bitrise CI/CD - iOS builds, automated testing, deployment, managed macOS runners
21ai integration expert
Work with Leavn AI features - UnifiedAIService, on-device models, devotional generation, novelization, kids mode, image generation with Stable Diffusion
20