SlideShare uma empresa Scribd logo
1 de 15
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.
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!

Mais conteúdo relacionado

Mais procurados

AWS re:Invent "The secrets to building and delivering amazing apps at scale"
AWS re:Invent "The secrets to building and delivering amazing apps at scale"AWS re:Invent "The secrets to building and delivering amazing apps at scale"
AWS re:Invent "The secrets to building and delivering amazing apps at scale"💻 Javier Garza
 
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...Sencha
 
Ionic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassleIonic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassleIonic Framework
 
codeBeamer Eclipse DemoCamp-23.11.2010
codeBeamer Eclipse DemoCamp-23.11.2010codeBeamer Eclipse DemoCamp-23.11.2010
codeBeamer Eclipse DemoCamp-23.11.2010Intland Software GmbH
 
Running SWT using native Widgets on iPhone/iPad with RAP
Running SWT using native Widgets on iPhone/iPad with RAPRunning SWT using native Widgets on iPhone/iPad with RAP
Running SWT using native Widgets on iPhone/iPad with RAPsjkiwai
 
Neev Hackathon 2013 - Super Feet
Neev Hackathon 2013 - Super FeetNeev Hackathon 2013 - Super Feet
Neev Hackathon 2013 - Super FeetNeev Technologies
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...BizTalk360
 
Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesBizTalk360
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview Ionic Framework
 
Get over the Cloud with Bluemix
Get over the Cloud with BluemixGet over the Cloud with Bluemix
Get over the Cloud with BluemixCodemotion
 
Neev Hackathon 2013 - Augmented Reality - Team Jarvis
Neev Hackathon 2013 - Augmented Reality - Team JarvisNeev Hackathon 2013 - Augmented Reality - Team Jarvis
Neev Hackathon 2013 - Augmented Reality - Team JarvisNeev Technologies
 
Is It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just MeIs It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just MeVik Chaudhary
 
GAB2017 - Azure function to build serverless SharePoint apps
GAB2017 - Azure function to build serverless SharePoint appsGAB2017 - Azure function to build serverless SharePoint apps
GAB2017 - Azure function to build serverless SharePoint appsRiwut Libinuko
 
Xamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin
 
Forms + azure
Forms + azureForms + azure
Forms + azureAmal Dev
 

Mais procurados (19)

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

Destaque

Navigation in React Native
Navigation in React NativeNavigation in React Native
Navigation in React NativeRedBlackTree
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeRedBlackTree
 
An Introduction to Couchbase Mobile
An Introduction to Couchbase MobileAn Introduction to Couchbase Mobile
An Introduction to Couchbase MobileRedBlackTree
 
Deploy your app with one Slack command
Deploy your app with one Slack commandDeploy your app with one Slack command
Deploy your app with one Slack commandFabio Milano
 
Travis and fastlane
Travis and fastlaneTravis and fastlane
Travis and fastlaneSteven Shen
 
Análisis lectura ¿qué es una constitución?
Análisis lectura   ¿qué es una constitución?Análisis lectura   ¿qué es una constitución?
Análisis lectura ¿qué es una constitución?Jairo Ascencio Guevara
 
Couchbase Chennai Meetup 2 - Couchbase - Mobile
Couchbase Chennai Meetup 2 - Couchbase - MobileCouchbase Chennai Meetup 2 - Couchbase - Mobile
Couchbase Chennai Meetup 2 - Couchbase - MobileRedBlackTree
 
Fastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS AppsFastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS AppsSarath C
 
IBM Innovate DevOps for Mobile Apps
IBM Innovate DevOps for Mobile Apps IBM Innovate DevOps for Mobile Apps
IBM Innovate DevOps for Mobile Apps Sanjeev Sharma
 
DevOps for the Mobile Enterprise: Test and Deploy
DevOps for the Mobile Enterprise: Test and DeployDevOps for the Mobile Enterprise: Test and Deploy
DevOps for the Mobile Enterprise: Test and DeployRosalind Radcliffe
 
Couchbase Chennai meetup #3 What's new in Couchbase Server & Couchbase Mobile
Couchbase Chennai meetup #3  What's new in Couchbase Server & Couchbase MobileCouchbase Chennai meetup #3  What's new in Couchbase Server & Couchbase Mobile
Couchbase Chennai meetup #3 What's new in Couchbase Server & Couchbase MobileKarthik Babu Sekar
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseBitbar
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 
Couchbase Chennai Meetup 2 - Big Data & Analytics
Couchbase Chennai Meetup 2 - Big Data & AnalyticsCouchbase Chennai Meetup 2 - Big Data & Analytics
Couchbase Chennai Meetup 2 - Big Data & AnalyticsRedBlackTree
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Continuous Delivery with fastlane
Continuous Delivery with fastlaneContinuous Delivery with fastlane
Continuous Delivery with fastlaneSomkiat Puisungnoen
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my collegeSneha Lata
 
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017Matteo Manchi
 

Destaque (20)

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

Semelhante a The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree

Continous Integration for iOS Projects
Continous Integration for iOS ProjectsContinous Integration for iOS Projects
Continous Integration for iOS ProjectsCiprian Redinciuc
 
Ci system part ii
Ci system part iiCi system part ii
Ci system part ii振維 李
 
Telerik AppBuilder Presentation for TelerikNEXT Conference
Telerik AppBuilder Presentation for TelerikNEXT ConferenceTelerik AppBuilder Presentation for TelerikNEXT Conference
Telerik AppBuilder Presentation for TelerikNEXT ConferenceJen Looper
 
Configure & send push notification on i os device
Configure & send push notification on i os deviceConfigure & send push notification on i os device
Configure & send push notification on i os deviceShepHertz
 
Get that Corner Office with Angular 2 and Electron
Get that Corner Office with Angular 2 and ElectronGet that Corner Office with Angular 2 and Electron
Get that Corner Office with Angular 2 and ElectronLukas Ruebbelke
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakayaMbakaya Kwatukha
 
Appium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanAppium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanApplitools
 
ApppiumDoc_version2015
ApppiumDoc_version2015ApppiumDoc_version2015
ApppiumDoc_version2015Amit DEWAN
 
Kinect installation guide
Kinect installation guideKinect installation guide
Kinect installation guidegilmsdn
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
Flask jwt authentication tutorial
Flask jwt authentication tutorialFlask jwt authentication tutorial
Flask jwt authentication tutorialKaty Slemon
 
Uploading files using selenium web driver
Uploading files using selenium web driverUploading files using selenium web driver
Uploading files using selenium web driverPankaj Biswas
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introductionsnevesbarros
 
Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Sentinel Solutions Ltd
 

Semelhante a The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree (20)

Continous Integration for iOS Projects
Continous Integration for iOS ProjectsContinous Integration for iOS Projects
Continous Integration for iOS Projects
 
Ci system part ii
Ci system part iiCi system part ii
Ci system part ii
 
Telerik AppBuilder Presentation for TelerikNEXT Conference
Telerik AppBuilder Presentation for TelerikNEXT ConferenceTelerik AppBuilder Presentation for TelerikNEXT Conference
Telerik AppBuilder Presentation for TelerikNEXT Conference
 
push_notification
push_notificationpush_notification
push_notification
 
Configure & send push notification on i os device
Configure & send push notification on i os deviceConfigure & send push notification on i os device
Configure & send push notification on i os device
 
Get that Corner Office with Angular 2 and Electron
Get that Corner Office with Angular 2 and ElectronGet that Corner Office with Angular 2 and Electron
Get that Corner Office with Angular 2 and Electron
 
Appium
AppiumAppium
Appium
 
Sencha Touch MVC
Sencha Touch MVCSencha Touch MVC
Sencha Touch MVC
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
 
Appium Overview - by Daniel Puterman
Appium Overview - by Daniel PutermanAppium Overview - by Daniel Puterman
Appium Overview - by Daniel Puterman
 
Intro to Android Programming
Intro to Android ProgrammingIntro to Android Programming
Intro to Android Programming
 
ApppiumDoc_version2015
ApppiumDoc_version2015ApppiumDoc_version2015
ApppiumDoc_version2015
 
Kinect installation guide
Kinect installation guideKinect installation guide
Kinect installation guide
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
Flask jwt authentication tutorial
Flask jwt authentication tutorialFlask jwt authentication tutorial
Flask jwt authentication tutorial
 
Uploading files using selenium web driver
Uploading files using selenium web driverUploading files using selenium web driver
Uploading files using selenium web driver
 
Appium_set_up
Appium_set_upAppium_set_up
Appium_set_up
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
 
Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]
 

Último

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Último (20)

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

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.
  • 3.
  • 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.