Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Good practices for iOS releases
Search
Adrien Humilière
June 21, 2017
Programming
0
230
Good practices for iOS releases
Adrien Humilière
June 21, 2017
Tweet
Share
More Decks by Adrien Humilière
See All by Adrien Humilière
Attention to details
adhumi
0
7
Build an iOS app from an iPad
adhumi
0
55
Something about Xcode ^^
adhumi
0
140
Inside Brut.
adhumi
0
120
Localization done bien
adhumi
1
270
Test and distribute an iOS app with Gitlab CI
adhumi
0
380
Pushing Forward iOS Notifications
adhumi
0
200
What's new in iOS 9
adhumi
0
350
Rebranding an iOS app
adhumi
0
270
Other Decks in Programming
See All in Programming
エディターってAIで操作できるんだぜ
kis9a
0
720
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
2
870
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
9
1.1k
CSC509 Lecture 14
javiergs
PRO
0
220
認証・認可の基本を学ぼう後編
kouyuume
0
190
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
820
AIコーディングエージェント(Gemini)
kondai24
0
210
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
関数実行の裏側では何が起きているのか?
minop1205
1
690
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
240
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
How Software Deployment tools have changed in the past 20 years
geshan
0
29k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Designing Experiences People Love
moore
143
24k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
GitHub's CSS Performance
jonrohan
1032
470k
Producing Creativity
orderedlist
PRO
348
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Six Lessons from altMBA
skipperchong
29
4.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Rails Girls Zürich Keynote
gr2m
95
14k
4 Signs Your Business is Dying
shpigford
186
22k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Code Reviewing Like a Champion
maltzj
527
40k
Transcript
Good practices for iOS releases @adhumi, Bonsaï, Paris Trainline Engineering Summit, June 2017
Release
? Release
Release early, release often →
Release early, release often → Painless releases → Test your
release → Take care of it → Market it →
Release early, release often
time based Release cycles are usually feature based or
Feature based Group features in a single release – Unified
set of features – Unknown frequency – Delay risks
Time based Calendar schedule Frequency depends on your needs –
Expected by all parties – Set schedules – Pushes iterative development – Risk of too much/little time – Risk of too much/little features
None
Release Train
vn vn+1
A vn vn+1
A B vn vn+1
A B C vn vn+1
A B C D vn vn+1
D vn vn+1 A B C
D vn vn+1 A B C
D E vn vn+1 A B C
D E F vn vn+1 A B C
G D E F vn vn+1 A B C
G vn vn+1 A B C D E F
⏰?
Week1 vn
Week1 Week2 Weekn-1 vn
Week1 Week2 Weekn-1 Feature freeze, beta release, QA vn
Week1 Week2 Weekn Weekn-1 vn
Week1 Week2 Weekn Weekn-1 Submission vn
Week1 Week2 Weekn Weekn+1 Weekn-1 Public release vn
Week1 Week2 Weekn Weekn+1 Weekn-1 Feature freeze, beta release, QA
Submission Public release vn
Week1 Week2 Weekn Weekn+1 Weekn-1 vn Week1 Week2 vn+1
Weekn Weekn+1 Week1 Week2 Weekn Weekn+1 Weekn-1 vn+1 Week1 Week2
vn+2
Weekn Weekn+1 Week1 Week2 Weekn Weekn+1 Weekn-1 vn+2 Week1 Week2
vn+3
Kickoff Developm ent QA, beta test & polishing Subm ission
Public release w1 w1 → wn-1 wn wn wn+1
Painless releases
Classical release process Code
Classical release process Code
Classical release process Code Archive
Classical release process Code Archive
Classical release process Code Archive Binary
Classical release process Code Archive Binary
Classical release process Code Archive Binary iTunes Connect
Classical release process All assets (promotional screenshots and texts) uploaded
manually
Classical release process All assets (promotional screenshots and texts) uploaded
manually 5 images 5 languages 6 devices → 150 screenshots Title Description Release notes… → ×5 languages
Classical release process All assets (promotional screenshots and texts) uploaded
manually Clic. clic. 5 images 5 languages 6 devices → 150 screenshots Title Description Release notes… → ×5 languages + tons of copy paste
Classical release process ❌ Nope
Script all the things!
Script all the things! fastlane → Everything needed exists hidden
with Xcode → Fastlane is good, if you like sugar
Code Archive Binary iTunes Connect
Code Archive Binary iTunes Connect $ ./archive_and_upload
Script all the things! Screenshots Title Description Icons Metadatas Release
notes
Script all the things! Screenshots Title Description Icons Metadatas Release
notes ← Autogenerated
$ iTMSTransporter upload Script all the things!
Continuous deployment?
Deploy Deploy Deploy Continuous deployment? Internal only
Test your release
Extensive QA validation before release ✅
Beta-test → Real life usages → Real trains → Real
travels → Real travelers
Beta-test Diversity of beta-testers → Frequent and occasional travelers →
Various countries → Various languages → Disabilities
Beta-test Build a community
Market your release
Communicate with Apple
Thursday
Thanks! @adhumi, Bonsaï, Paris