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
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
930
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
77
NSMeetup San Francisco
krausefx
1
170
fastlane - Felix Krause - Swift Language User Group
krausefx
1
24k
fastlane - Continuous Delivery for iOS Apps
krausefx
1
380
fastlane - Continuous Delivery for iOS Apps
krausefx
0
130
Other Decks in Technology
See All in Technology
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.4k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
430
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
150
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.9k
Digitization部 紹介資料
sansan33
PRO
1
6.8k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
190
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
140
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
620
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.4k
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
420
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Exploring anti-patterns in Rails
aemeredith
2
250
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
A better future with KSS
kneath
240
18k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
Chasing Engaging Ingredients in Design
codingconduct
0
110
A designer walks into a library…
pauljervisheath
210
24k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Leo the Paperboy
mayatellez
4
1.4k
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