Getting started with fastlane for iOS
Make sure you have the latest version of the Xcode command line tools installed:
Choose your installation method:
|Installer Script||macOS||Download the zip file. Then double click on the
|RubyGems||macOS or Linux with Ruby 2.0.0 or above||
Setting up fastlane
Navigate your terminal to your project's directory and run
for Ruby setup:
for Swift setup:
fastlane init swift
Swift setup is still in beta. See Fastlane.swift docs for more information.
Depending on what kind of setup you choose, different files will be set up for you. If you chose to download the existing app metadata, you'll end up new folders that look like this:
The most interesting file is
fastlane/Fastfile, which contains all the information that is needed to distribute your app.
fastlane created all the required files for you, now you can go ahead and customise it to generate screenshots or to automatically distribute new builds
- Generate localized iOS screenshots for the App Store
- Automatic iOS Beta deployment
- Automatic iOS App Store deployment
Set up environment variables
fastlane requires some environment variables set up to run correctly. In particular, having your locale not set to a UTF-8 locale will cause issues with building and uploading your build. In your shell profile add the following lines:
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
You can find your shell profile at
~/.zshrc depending on your system.
Use a Gemfile
It is recommended that you use a
Gemfile to define your dependency on fastlane. This will clearly define the used fastlane version, and its dependencies, and will also speed up using fastlane.
- Install bundler using
sudo gem install bundler
- Create a
./Gemfilein the root directory of your project with the content
source "https://rubygems.org" gem "fastlane"
[sudo] bundle updateand add both the
./Gemfile.lockto version control
- Every time you run fastlane, use
bundle exec fastlane [lane]
- On your CI, add
[sudo] bundle installas your first build step
- To update fastlane, just run
[sudo] bundle update