Futured iOS Fastlane
Centralized Fastlane configuration for iOS projects at Futured. This repository provides reusable lanes for common CI/CD tasks including provisioning, testing, beta/release builds, and App Store Connect management.
What's New in 2.0.0
Breaking Changes
- Removed plugin
fastlane-plugin-badge - Removed plugin
fastlane-plugin-brew - ENV var
BADGE_DARKis no longer used - ENV var
PR_TITLEis no longer used
New
- ENV var
CHANGELOG
How it works
The Fastfile in this repository is designed to be imported by individual iOS projects using Fastlane's import_from_git feature. Organizations set their specific values (team IDs, email, certificate repo URL) via environment variables, then import this Fastfile to get all lanes.
# Your organization's adapter Fastfile
ENV["USER_EMAIL"] = "ops@example.com"
ENV["TEAM_ID"] = "YOUR_TEAM_ID"
ENV["ASC_TEAM_ID"] = "YOUR_ASC_TEAM_ID"
ENV["MATCH_GIT_URL"] = "git@github.com:your-org/apple-certificates.git"
ENV["MATCH_GIT_BRANCH"] = "master"
ENV["DEVICE_LIST_GIT_URL"] = "git@github.com:your-org/fastlane.git"
ENV["DEVICE_LIST_GIT_BRANCH"] = "main"
import_from_git(url: "https://github.com/futuredapp/ios-fastlane.git")
Consumer projects then import from your organization's adapter:
ENV["APP_IDENTIFIER"] = "app.futured.myapp"
ENV["APP_SCHEME"] = "MyApp"
ENV["APP_NAME"] = "My App"
import_from_git(url: "git@github.com:your-org/fastlane.git")
Available lanes
| Lane | Description |
|---|---|
provisioning |
Download development certificates and provisioning profiles |
update_provisioning |
Register devices and update all profiles |
update_release_provisioning |
Update release provisioning profiles only |
test |
Run tests and report status to GitHub |
beta |
Build and upload beta to TestFlight |
release |
Build and upload release to TestFlight |
create_apps |
Create app identifiers and apps in App Store Connect |
create_apps_for_extension |
Create app identifiers for extensions |
generate_graphql_operations |
Generate GraphQL models via Apollo |
Required plugins
| Plugin | Purpose |
|---|---|
fastlane-plugin-versioning |
Sets version and build numbers |
Quick links
- Getting Started — Set up a new project
- Environment Variables — Full reference
- Customer Accounts — Working with client-owned Apple accounts
- Futured Engineering Handbook