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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Felix Krause
April 21, 2016
Technology
2
430
MCEConf Warsaw
iOS and Android automation using fastlaner
Felix Krause
April 21, 2016
Tweet
Share
More Decks by Felix Krause
See All by Felix Krause
Trusting SDKs
krausefx
1
940
2017-10 Pragma: Getting started contributing to open source projects
krausefx
1
110
How to get get started contributing to open source
krausefx
3
680
Scaling Open Source Communities trySwift Tokyo
krausefx
2
1.3k
Scaling Open Source Communitites
krausefx
0
80
NSMeetup San Francisco
krausefx
1
180
fastlane - Felix Krause - Swift Language User Group
krausefx
1
24k
fastlane - Continuous Delivery for iOS Apps
krausefx
1
390
fastlane - Continuous Delivery for iOS Apps
krausefx
0
130
Other Decks in Technology
See All in Technology
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
310
20260321_エンベディングってなに?RAGってなに?エンベディングの説明とGemini Embedding 2 の紹介
tsho
0
160
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
260
既存アプリの延命も,最新技術での新規開発も:WebSphereの最新情報
ktgrryt
0
170
Phase11_戦略的AI経営
overflowinc
0
1.4k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
1.1k
Copilot 宇宙へ 〜生成AIで「専門データの壁」を壊す方法〜
nakasho
0
180
Phase08_クイックウィン実装
overflowinc
0
1.6k
脳が溶けた話 / Melted Brain
keisuke69
1
950
Phase12_総括_自走化
overflowinc
0
1.4k
韓非子に学ぶAI活用術
tomfook
1
230
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
2.7M
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
240
Raft: Consensus for Rubyists
vanstee
141
7.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Unsuck your backbone
ammeep
672
58k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Evolving SEO for Evolving Search Engines
ryanjones
0
170
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
210
Being A Developer After 40
akosma
91
590k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
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