# Fastlane

If you are into iOS development, you have probably heard of [Fastlane](https://fastlane.tools/), the handy tool suite that allows you to script everything from generating screenshots and running tests to deploying your app to the App Store.&#x20;

There are a number of sub-sections on this page:

* [Installation ](#installation)
* [Importing Actions for Updraft Fastlane](#importing-actions-for-updraft-fastlane)
* [Configuration](#configuration)
* [Available Actions](#available-actions)

## Installation&#x20;

Make sure you have the latest version of the Xcode command line tools installed:

```
xcode-select --install
```

### Choose your installation method:

| [Homebrew](http://brew.sh/)  | Installer Script                                                                                                                       | Rubygems                                |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| macOS                        | macOS                                                                                                                                  | macOS or Linux with Ruby 2.0.0 or above |
| `brew cask install fastlane` | [Download the zip file](https://download.fastlane.tools/). Then double click on the `install` script (or run it in a terminal window). | `sudo gem install fastlane -NV`         |

### Importing Actions for Updraft Fastlane

Once you have set up Fastlane for your project, Import the available actions into your Fastfile by adding`import_from_git(url: "https://github.com/appswithlove/fastlane_tools.git", version: "~>1.0.0")` to the top of your existing Fastfile. <https://github.com/appswithlove/fastlane_tools>

## Configuration

Store all your configuration values in `.env` files. These files can be named to suit your needs, e.g. `.env.appstore` Then call fastlane with the env parameter, e.g. `fastlane deploy_appstore --env appstore`

## Available Actions

#### ensure\_appstore\_environment

```
fastlane ensure_appstore_environment
```

Makes sure the current environment values match the necessary values for an App Store build

#### ensure\_correct\_branch

```
fastlane ensure_correct_branch
```

Ensure the user is on the correct git branch, otherwise prompt to change it

#### ensure\_correct\_version

```
fastlane ensure_correct_version
```

Ensure the version number is correct, otherwise prompt the user and change it

#### Fastlane Updraft

```
fastlane updraft
```

Upload a release produced by Gym to Updraft for testing

#### post\_build\_notification

```
fastlane post_build_notification
```

Send local and Slack notification for uploaded builds

#### finish\_release

```
fastlane finish_release
```

Prompts the user to tag and push the release accordingly

More information about fastlane can be found on [fastlane.tools](https://fastlane.tools/). The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools/).<br>
