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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
19
Build an iOS app from an iPad
adhumi
0
86
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
410
Pushing Forward iOS Notifications
adhumi
0
220
Good practices for iOS releases
adhumi
0
250
What's new in iOS 9
adhumi
0
390
Other Decks in Programming
See All in Programming
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
400
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
120
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
890
Vite+ Unified Toolchain for the Web
naokihaba
0
290
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
330
Agentic UI
manfredsteyer
PRO
0
150
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
170
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.7k
JavaDoc 再入門
nagise
0
330
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
160
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
It's Worth the Effort
3n
188
29k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Optimizing for Happiness
mojombo
378
71k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
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