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
670
Scaling Open Source Communities trySwift Tokyo
krausefx
2
1.3k
Scaling Open Source Communitites
krausefx
0
76
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
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
4
1.6k
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
1k
Service Monitoring Platformについて
lycorptech_jp
PRO
0
310
マルチドライブアーキテクチャ: 複数の駆動力でプロダクトを前進させる
knih
0
4.9k
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
380
単一Kubernetesクラスタで実現する AI/ML 向けクラウドサービス
pfn
PRO
1
310
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
60
21k
pmconf 2025 大阪「生成AI時代に未来を切り開くためのプロダクト戦略:圧倒的生産性を実現するためのプロダクトサイクロン」 / The Product Cyclone for Outstanding Productivity
yamamuteki
1
1.3k
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
530
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.4k
大規模モノレポの秩序管理 失速しない多言語化フロントエンドの運用 / JSConf JP 2025
shoota
0
280
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Become a Pro
speakerdeck
PRO
29
5.6k
Docker and Python
trallard
46
3.7k
Designing for humans not robots
tammielis
254
26k
It's Worth the Effort
3n
187
28k
Balancing Empowerment & Direction
lara
5
760
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