SlideShare a Scribd company logo
The Mobile Toolchain with Fastlane
What is Fastlane?
• Automates beta deployments and releases for iOS & Android apps.
• Generates screenshots.
• Takes care of code signing.
• Very simple to use and remember commands.
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
How to install?
1. Make sure that the latest version of Xcode tools is installed:
xcode-select --install
2. Use homebrew to install fastlane:
brew cask install fastlane
3. In terminal, navigate to your project’s root directory, and run the command:
fastlane init
After you run fastlane init for iOS, your project’s root directory will contain a fastlane folder:
What are those files in the fastlane folder for?
• Fastfile - contains script for building and uploading beta/release builds,
uploading screenshots and metadata.
• Deliverfile - Used when uploading your build / screenshots to
iTunesConnect / App Store.
• Appfile - contains app identifier, your Apple ID and Team ID.
A Typical Fastlane Script
Lanes are used to tailor your build processes to suit your needs.
Let’s go step-by-step.
First, the beta lane. This lane executes as follows:
1. increment_build_number : Increments build number by 1. You don’t have to
do it manually by opening up Xcode and typing in the new build number.
2. gym : This tool builds your project and produces the .xcarchive folder. The
archive will show up in Xcode’s Organizer.
3. testflight : This tool uploads you’re ipa file to Apple’s Testflight.
Now let’s go through the appstore lane:
1. snapshot : This tool generates screenshots for your app automatically. You
have to create a UI Testing target for your app in Xcode and record a UI test.
More on this later.
2. gym : Same as before.
3. deliver : This tool uses the Deliverfile to upload screenshots to iTunes Connect.
4. slack : Finally, a message is posted on slack regarding the upload.
How do I run this script?
In your terminal, just type in:
fastlane beta to run the beta lane
fastlane appstore to run the appstore lane
lane :beta do
cert(
development: true,
force: false,
username: "Your_Apple_ID",
keychain_password: "Your_Keychain_Password"
)
gym(
scheme: "Your_Scheme_Name",
clean: true,
codesigning_identity: "Your_Certificate_Name",
export_method: "app-store", use_legacy_build_api: true
)
testflight(
username: "Your_Apple_ID",
app_identifier: "Your_App_Bundle_Identifier",
skip_submission: true,
skip_waiting_for_build_processing: true
)
end
My Script
Short Explanation
The script does the following:
1. cert checks if a development certificate is installed locally in the machine. If not, it can create one.
2. gym builds the .ipa file for the app. The codesigning_identity to be used for building is passed. For
Testflight/App Store builds, export_method must be app-store. legacy_build_api must be true for
SwiftSupport folder to be created.
3. testflight uploads the build to Testflight. username and app_identifier are used to connect to
iTunesConnect. skip_submission set to true to only upload the build and not promote to app store.
skip_waiting_for_build_processing set to true so that the script exits after submitting build.
It generally takes 5 - 10 minutes to get the email from Apple regarding the status
of your build.
Compare this to uploading builds using Xcode which will take hours of effort to
upload a single build. Also, the Fix Issue button is dangerous to use, as it might
reset all provisioning profiles.
Fastlane is way cleaner.
Thank You!

More Related Content

PDF
Introduction to React Native
PDF
How much would it cost to hire developers in india
PDF
Pepperoni 2.0 - How to spice up your mobile apps
PDF
Google App Engine (Introduction)
PDF
Offline Storage: Build secure, offline-first apps
PPTX
Build Powerful Apps Fast with Progress Rollbase
PPTX
Neev Hackathon 2013 - Augmented Reality - Remoteless Car
PDF
Ionic event: March 2021
Introduction to React Native
How much would it cost to hire developers in india
Pepperoni 2.0 - How to spice up your mobile apps
Google App Engine (Introduction)
Offline Storage: Build secure, offline-first apps
Build Powerful Apps Fast with Progress Rollbase
Neev Hackathon 2013 - Augmented Reality - Remoteless Car
Ionic event: March 2021

What's hot (19)

PDF
Ionic in 30
PDF
AWS re:Invent "The secrets to building and delivering amazing apps at scale"
PPTX
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
PDF
Ionic Native: Native-powered apps, without the hassle
PPT
codeBeamer Eclipse DemoCamp-23.11.2010
PDF
Capacitor 1.0 launch
PDF
Running SWT using native Widgets on iPhone/iPad with RAP
PPTX
Neev Hackathon 2013 - Super Feet
PPTX
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
PPTX
Integration Monday - Logic Apps: Development Experiences
PDF
Ionic App Platform Overview
PDF
Get over the Cloud with Bluemix
PPTX
Neev Hackathon 2013 - Augmented Reality - Team Jarvis
PPT
Is It The Cloud, The App, Or Just Me
PDF
Capacitor 2.0 Launch
PDF
10 things you can do at the edge
PPTX
GAB2017 - Azure function to build serverless SharePoint apps
PDF
Xamarin University Presents: Ship Better Apps with Visual Studio App Center
PPTX
Forms + azure
Ionic in 30
AWS re:Invent "The secrets to building and delivering amazing apps at scale"
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
Ionic Native: Native-powered apps, without the hassle
codeBeamer Eclipse DemoCamp-23.11.2010
Capacitor 1.0 launch
Running SWT using native Widgets on iPhone/iPad with RAP
Neev Hackathon 2013 - Super Feet
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Integration Monday - Logic Apps: Development Experiences
Ionic App Platform Overview
Get over the Cloud with Bluemix
Neev Hackathon 2013 - Augmented Reality - Team Jarvis
Is It The Cloud, The App, Or Just Me
Capacitor 2.0 Launch
10 things you can do at the edge
GAB2017 - Azure function to build serverless SharePoint apps
Xamarin University Presents: Ship Better Apps with Visual Studio App Center
Forms + azure
Ad

Viewers also liked (20)

PDF
Navigation in React Native
PDF
Introduction to React Native
PDF
An Introduction to Couchbase Mobile
PDF
Deploy your app with one Slack command
PDF
Travis and fastlane
PDF
Análisis lectura ¿qué es una constitución?
PPTX
Couchbase Chennai Meetup 2 - Couchbase - Mobile
PDF
Fastlane - Automation and Continuous Delivery for iOS Apps
PPT
IBM Innovate DevOps for Mobile Apps
PDF
DevOps for the Mobile Enterprise: Test and Deploy
PDF
Couchbase Chennai meetup #3 What's new in Couchbase Server & Couchbase Mobile
PDF
Exercising and Scaling Up Mobile DevOps in the Enterprise
PPTX
Best Practices for DevOps in Mobile App Testing
PDF
Vue JS Intro
PPTX
Motivación
PPTX
Couchbase Chennai Meetup 2 - Big Data & Analytics
PDF
Mobile App Development
PDF
Continuous Delivery with fastlane
PPTX
My presentation on Android in my college
PDF
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
Navigation in React Native
Introduction to React Native
An Introduction to Couchbase Mobile
Deploy your app with one Slack command
Travis and fastlane
Análisis lectura ¿qué es una constitución?
Couchbase Chennai Meetup 2 - Couchbase - Mobile
Fastlane - Automation and Continuous Delivery for iOS Apps
IBM Innovate DevOps for Mobile Apps
DevOps for the Mobile Enterprise: Test and Deploy
Couchbase Chennai meetup #3 What's new in Couchbase Server & Couchbase Mobile
Exercising and Scaling Up Mobile DevOps in the Enterprise
Best Practices for DevOps in Mobile App Testing
Vue JS Intro
Motivación
Couchbase Chennai Meetup 2 - Big Data & Analytics
Mobile App Development
Continuous Delivery with fastlane
My presentation on Android in my college
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
Ad

Similar to The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree (20)

PPTX
Continous Integration for iOS Projects
PDF
Ci system part ii
PPTX
Telerik AppBuilder Presentation for TelerikNEXT Conference
PPTX
push_notification
DOCX
Configure & send push notification on i os device
PDF
Get that Corner Office with Angular 2 and Electron
PPT
PPTX
Sencha Touch MVC
PDF
Getting started with appium
PDF
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
PPTX
Django simplified : by weever mbakaya
PPTX
Appium Overview - by Daniel Puterman
PPT
Intro to Android Programming
PDF
ApppiumDoc_version2015
DOCX
Kinect installation guide
PDF
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
PDF
Flask jwt authentication tutorial
PDF
Uploading files using selenium web driver
PDF
Appium_set_up
PPTX
Appium Meetup #2 - Mobile Web Automation Introduction
Continous Integration for iOS Projects
Ci system part ii
Telerik AppBuilder Presentation for TelerikNEXT Conference
push_notification
Configure & send push notification on i os device
Get that Corner Office with Angular 2 and Electron
Sencha Touch MVC
Getting started with appium
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
Django simplified : by weever mbakaya
Appium Overview - by Daniel Puterman
Intro to Android Programming
ApppiumDoc_version2015
Kinect installation guide
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Flask jwt authentication tutorial
Uploading files using selenium web driver
Appium_set_up
Appium Meetup #2 - Mobile Web Automation Introduction

Recently uploaded (20)

PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Digital Strategies for Manufacturing Companies
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
medical staffing services at VALiNTRY
PDF
Design an Analysis of Algorithms I-SECS-1021-03
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Softaken Excel to vCard Converter Software.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Digital Strategies for Manufacturing Companies
ISO 45001 Occupational Health and Safety Management System
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Navsoft: AI-Powered Business Solutions & Custom Software Development
Wondershare Filmora 15 Crack With Activation Key [2025
Online Work Permit System for Fast Permit Processing
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
CHAPTER 2 - PM Management and IT Context
PTS Company Brochure 2025 (1).pdf.......
medical staffing services at VALiNTRY
Design an Analysis of Algorithms I-SECS-1021-03

The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree

  • 1. The Mobile Toolchain with Fastlane
  • 2. What is Fastlane? • Automates beta deployments and releases for iOS & Android apps. • Generates screenshots. • Takes care of code signing. • Very simple to use and remember commands.
  • 4. How to install? 1. Make sure that the latest version of Xcode tools is installed: xcode-select --install 2. Use homebrew to install fastlane: brew cask install fastlane 3. In terminal, navigate to your project’s root directory, and run the command: fastlane init
  • 5. After you run fastlane init for iOS, your project’s root directory will contain a fastlane folder:
  • 6. What are those files in the fastlane folder for? • Fastfile - contains script for building and uploading beta/release builds, uploading screenshots and metadata. • Deliverfile - Used when uploading your build / screenshots to iTunesConnect / App Store. • Appfile - contains app identifier, your Apple ID and Team ID.
  • 8. Lanes are used to tailor your build processes to suit your needs.
  • 9. Let’s go step-by-step. First, the beta lane. This lane executes as follows: 1. increment_build_number : Increments build number by 1. You don’t have to do it manually by opening up Xcode and typing in the new build number. 2. gym : This tool builds your project and produces the .xcarchive folder. The archive will show up in Xcode’s Organizer. 3. testflight : This tool uploads you’re ipa file to Apple’s Testflight.
  • 10. Now let’s go through the appstore lane: 1. snapshot : This tool generates screenshots for your app automatically. You have to create a UI Testing target for your app in Xcode and record a UI test. More on this later. 2. gym : Same as before. 3. deliver : This tool uses the Deliverfile to upload screenshots to iTunes Connect. 4. slack : Finally, a message is posted on slack regarding the upload.
  • 11. How do I run this script? In your terminal, just type in: fastlane beta to run the beta lane fastlane appstore to run the appstore lane
  • 12. lane :beta do cert( development: true, force: false, username: "Your_Apple_ID", keychain_password: "Your_Keychain_Password" ) gym( scheme: "Your_Scheme_Name", clean: true, codesigning_identity: "Your_Certificate_Name", export_method: "app-store", use_legacy_build_api: true ) testflight( username: "Your_Apple_ID", app_identifier: "Your_App_Bundle_Identifier", skip_submission: true, skip_waiting_for_build_processing: true ) end My Script
  • 13. Short Explanation The script does the following: 1. cert checks if a development certificate is installed locally in the machine. If not, it can create one. 2. gym builds the .ipa file for the app. The codesigning_identity to be used for building is passed. For Testflight/App Store builds, export_method must be app-store. legacy_build_api must be true for SwiftSupport folder to be created. 3. testflight uploads the build to Testflight. username and app_identifier are used to connect to iTunesConnect. skip_submission set to true to only upload the build and not promote to app store. skip_waiting_for_build_processing set to true so that the script exits after submitting build.
  • 14. It generally takes 5 - 10 minutes to get the email from Apple regarding the status of your build. Compare this to uploading builds using Xcode which will take hours of effort to upload a single build. Also, the Fix Issue button is dangerous to use, as it might reset all provisioning profiles. Fastlane is way cleaner.