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
Rebranding an iOS app
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Adrien Humilière
September 08, 2016
Programming
280
0
Share
Rebranding an iOS app
Cocoaheads Paris, September 2016
Adrien Humilière
September 08, 2016
More Decks by Adrien Humilière
See All by Adrien Humilière
Attention to details
adhumi
0
16
Build an iOS app from an iPad
adhumi
0
80
Something about Xcode ^^
adhumi
0
150
Inside Brut.
adhumi
0
140
Localization done bien
adhumi
1
290
Test and distribute an iOS app with Gitlab CI
adhumi
0
400
Pushing Forward iOS Notifications
adhumi
0
220
Good practices for iOS releases
adhumi
0
240
What's new in iOS 9
adhumi
0
380
Other Decks in Programming
See All in Programming
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
750
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
4
280
Modding RubyKaigi for Myself
yui_knk
0
460
RTSPクライアントを自作してみた話
simotin13
0
190
Swiftのレキシカルスコープ管理
kntkymt
0
190
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
980
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
210
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
120
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1k
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
350
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
140
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
190
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Technical Leadership for Architectural Decision Making
baasie
3
380
Ethics towards AI in product and experience design
skipperchong
2
280
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Producing Creativity
orderedlist
PRO
348
40k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
360
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
350
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
190
The Limits of Empathy - UXLibs8
cassininazir
1
340
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Transcript
None
None
Rebranding an iOS app
@
@
Identity change?
Identity change? We are experts.
None
!rue Saint-Georges!
CapitaineTrain.xcodeproj BUNDLE_DISPLAY_NAME=Captain Train [NSURL URLWithString:@"https://www.captaintrain.com/en/terms/"] "ui.ios.shareApp.doYouLikeCapitaineTrain" = "Do you like
Captain Train?"; Captain Train
Unchanged
Product ✅ Team ✅ Support ✅ Process ✅
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Changed
CapitaineTrain.xcodeproj Captain Train iOS application Other projects Tools and partners
…
None
None
None
Partenaires
None
Captain Train Trainline EU
CFBundleDisplayName
None
Capitaine Dev Capitaine Train
Captain Dev Captain Train
Trainline # Trainline
- (NSString *)cat_appName { return [self objectForInfoDictionaryKey:kCFBundleNameKey]; }
+ (NSArray <NSString *> *)cat_legacyNames { return @[@"Captain Train", @"Capitaine
Train"]; }
$
None
// Stylesheet-style UI Constants. @interface CATUI : NSObject // Tint
+ (UIColor *)tintColor; + (UIColor *)alternateTintColor; // Semantic colors + (UIColor *)noticeColor; + (UIColor *)lightNoticeColor; + (UIColor *)warningColor; + (UIColor *)lightWarningColor; + (UIColor *)errorColor; + (UIColor *)lightErrorColor; …
#pragma mark Environment + (UIColor *)navyColor { return CAT_HEXCOLOR(0x21314d); }
+ (UIColor *)snowColor { return CAT_HEXCOLOR(0xf2f4f7); } #pragma mark Actions + (UIColor *)mintColor { return CAT_HEXCOLOR(0x01c3a7); } + (UIColor *)fernColor { return CAT_HEXCOLOR(0x14b69f); } + (UIColor *)pondColor { return CAT_HEXCOLOR(0xd3f9f4); } + (UIColor *)ginColor { return CAT_HEXCOLOR(0xeffffd); } + (UIColor *)ivyColor { return CAT_HEXCOLOR(0x059e87); } + (UIColor *)samColor { return CAT_HEXCOLOR(0xe02007); } #pragma mark Grays + (UIColor *)darthColor { return CAT_HEXCOLOR(0x13181a); } + (UIColor *)moriaColor { return CAT_HEXCOLOR(0x323e42); } + (UIColor *)slateColor { return CAT_HEXCOLOR(0x647479); } + (UIColor *)stormColor { return CAT_HEXCOLOR(0x8c9da1); } + (UIColor *)steelColor { return CAT_HEXCOLOR(0xc0c9cc); } + (UIColor *)marbleColor { return CAT_HEXCOLOR(0xdce3e6); }
None
None
None
./screenshots.sh
%&'( iPhone 4/4s iPhone 5/5s iPhone 6/6s iPhone 6/6s plus
iPad (9,7 pouces) iPad pro (12,9 pouces)
None
(transition)
) * * * * * 6 weeks
⏰
33 33.5
☑ -CATDebugTrainlineUI YES
⏰
None
-
.
/010//10/2
None
(private) beta
None
[email protected]
None
None
None
None
None
None
None
What next?
[email protected]
@_nb @adhumi