Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rebranding an iOS app
Search
Adrien Humilière
September 08, 2016
Programming
300
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
24
Build an iOS app from an iPad
adhumi
0
110
Something about Xcode ^^
adhumi
0
160
Inside Brut.
adhumi
0
160
Localization done bien
adhumi
1
310
Test and distribute an iOS app with Gitlab CI
adhumi
0
420
Pushing Forward iOS Notifications
adhumi
0
230
Good practices for iOS releases
adhumi
0
260
What's new in iOS 9
adhumi
0
400
Other Decks in Programming
See All in Programming
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
200
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
1.8k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
230
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
550
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
390
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
280
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
100
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
910
新卒PdEのリアル
ryu1013
1
500
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
270
App Intentsのビルドプロセスを支える技術
kntkymt
0
370
Featured
See All Featured
New Earth Scene 8
popppiees
4
2.6k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
Building Applications with DynamoDB
mza
96
7.2k
Raft: Consensus for Rubyists
vanstee
142
7.7k
Test your architecture with Archunit
thirion
2
2.4k
Side Projects
sachag
456
43k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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