Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MCEConf Warsaw
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Felix Krause
April 21, 2016
Technology
440
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MCEConf Warsaw
iOS and Android automation using fastlaner
Felix Krause
April 21, 2016
More Decks by Felix Krause
See All by Felix Krause
Trusting SDKs
krausefx
1
970
2017-10 Pragma: Getting started contributing to open source projects
krausefx
1
110
How to get get started contributing to open source
krausefx
3
690
Scaling Open Source Communities trySwift Tokyo
krausefx
2
1.4k
Scaling Open Source Communitites
krausefx
0
89
NSMeetup San Francisco
krausefx
1
190
fastlane - Felix Krause - Swift Language User Group
krausefx
1
24k
fastlane - Continuous Delivery for iOS Apps
krausefx
1
400
fastlane - Continuous Delivery for iOS Apps
krausefx
0
150
Other Decks in Technology
See All in Technology
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
120
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
100
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
320
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
610
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
510
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
1
740
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
500
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
2
260
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
100
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
160
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
440
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Mobile First: as difficult as doing things right
swwweet
225
10k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
From π to Pie charts
rasagy
0
340
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
460
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Making Projects Easy
brettharned
120
6.7k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
Felix Krause @KrauseFx HOW WOULD YOU LIKE 2 EXTRA HOURS
EVERY WEEK?
• “We can’t release, Chris is currently on vacation” •
“The provisioning profiles doesn’t contain all devices?” • “We can’t release an update, the build is broken” • “We need the latest screenshots for the website” • “Uh, that bug fix is not worth a new release” @KrauseFx
Release Day • Testing • Screenshots • Build • Signing
Issues • Prepare Push Certificate • Upload • Processing • Submit
None
None
Goals • Automatic Deployment • Version Control • Developer Independent
CREATING SCREENSHOTS CODE SIGNING AUTOMATING DEPLOYMENT < >
SCREENSHOTS
300 screenshots
... button.tap() snapshot("1LandingScreen") ...
... public void testTakeScreenshot() { Screengrab.screenshot("before_button_click"); onView(withId(R.id.fab)).perform(click()); } ...
None
< > PROVISIONING PROFILES
None
Build Your App Code Signing Certificate Provisioning Profile Building &
Signing Signed IPA
$ cert $ sigh $ gym
None
https://codesigning.guide
None
None
None
AUTOMATING DEPLOYMENT
Beta Deployment 1. Version Bump 2. Commit & Push 3.
Provisioning Profile 4. Build 5. Export 6. Upload 7. Add Release Notes 8. Distribute
None
None
None
None
None
$ fastlane beta
None
None
None
None
Spaceship.login("
[email protected]
") cert = Spaceship.certificate.production.all.first app = Spaceship.application.find("com.krausefx.app")
None
None
https://github.com/fastlane/boarding
https://github.com/fastlane/boarding
None
None
None
Until Now 1. Clone repo 2. Check out branch 3.
Build and install on simulator 4. Navigate in app to find the right view
None
None
What’s Next? https://fastlane.tools @KrauseFx
Thank You @KrauseFx