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
iPhone 5 and You! by Ameir Al-Zoubi
Search
Triangle Cocoa
September 27, 2012
Programming
0
180
iPhone 5 and You! by Ameir Al-Zoubi
Ameir discusses upgrading your app to support iPhone 5 at CocoaHeads September in Durham
Triangle Cocoa
September 27, 2012
Tweet
Share
More Decks by Triangle Cocoa
See All by Triangle Cocoa
App Store Secrets by Lawrence Ingraham
trianglecocoa
1
270
Grand Central Dispatch by Jody Hagins
trianglecocoa
2
470
Instruments: Leaks by Trevor Brown
trianglecocoa
5
140
Foundation Collections by Kevin Conner
trianglecocoa
3
240
Multithreaded Drawing by Eric Lanz
trianglecocoa
3
210
Unburdened ViewControllers by Jay Thrash
trianglecocoa
9
11k
Automated Acceptance Testing by Josh Johnson
trianglecocoa
4
170
Understanding UIResponder by Dirk Smith
trianglecocoa
5
300
Taming Xcode by Jay Thrash
trianglecocoa
3
130
Other Decks in Programming
See All in Programming
フロントエンドのパフォーマンスチューニング
koukimiura
5
2k
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
610
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
930
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
200
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
170
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
850
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
1k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
23
9.4k
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
870
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
12k
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
490
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
99
36k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
990
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
YesSQL, Process and Tooling at Scale
rocio
173
14k
A Tale of Four Properties
chriscoyier
160
23k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Designing for humans not robots
tammielis
253
25k
Scaling GitHub
holman
460
140k
Bash Introduction
62gerente
613
210k
Fireside Chat
paigeccino
37
3.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Unsuck your backbone
ammeep
671
58k
Transcript
The iPhone 5 and You! Tall is the new retina.
Not The Time To Procrastinate
Not The Time To Procrastinate • Early adopters tend to
pay for apps
Not The Time To Procrastinate • Early adopters tend to
pay for apps • Avoid the one star downvotes
Not The Time To Procrastinate • Early adopters tend to
pay for apps • Avoid the one star downvotes • It’s what Steve would have wanted
The Letterbox
The Letterbox • Include a new Default.png named Default-568h@2x.png
The Letterbox • Include a new Default.png named Default-568h@2x.png •
Needs to be 640 × 1136 pixels
The Letterbox • Include a new Default.png named Default-568h@2x.png •
Needs to be 640 × 1136 pixels • Thats it.
But Wait! My App is Broken!
But Wait! My App is Broken! • Xcode 4.5
But Wait! My App is Broken! • Xcode 4.5 •
iOS 6
But Wait! My App is Broken! • Xcode 4.5 •
iOS 6 • armV7s
The Window
The Window • Full screen at launch
The Window • Full screen at launch
The Window • Full screen at launch
The Window • self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
• Full screen at launch
The Window • self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
• Set root view controller • Full screen at launch
Rotation
Rotation • If all views rotate the same way, simply
set those in your plist
Rotation • If all views rotate the same way, simply
set those in your plist • shouldAutorotateToInterfaceOrientation
Rotation • If all views rotate the same way, simply
set those in your plist • shouldAutorotateToInterfaceOrientation • supportedInterfaceOrientations
Rotation • If all views rotate the same way, simply
set those in your plist • shouldAutorotateToInterfaceOrientation • supportedInterfaceOrientations • Checks the root view controller
Rotation • If all views rotate the same way, simply
set those in your plist • shouldAutorotateToInterfaceOrientation • supportedInterfaceOrientations • Checks the root view controller • Subclass UINavigationController and UITabBarController
Auto Layout
Auto Layout • It’s the bee’s knees
Auto Layout • It’s the bee’s knees • iOS 6
only
Auto Layout • It’s the bee’s knees • iOS 6
only • New xibs have it enabled by default
The Hard Way
The Hard Way • UIViewAutoresizingFlexibleHeight
The Hard Way • UIViewAutoresizingFlexibleHeight • Resize will occur in
viewWillAppear not viewDidLoad
The Hard Way • UIViewAutoresizingFlexibleHeight • Resize will occur in
viewWillAppear not viewDidLoad • ([[UIScreen mainScreen] bounds].size.height == 568)
The Hard Way • UIViewAutoresizingFlexibleHeight • Resize will occur in
viewWillAppear not viewDidLoad • ([[UIScreen mainScreen] bounds].size.height == 568) • New ratio
The Hard Way • UIViewAutoresizingFlexibleHeight • Resize will occur in
viewWillAppear not viewDidLoad • ([[UIScreen mainScreen] bounds].size.height == 568) • New ratio • CGRectIntegral
The March of Progress
The March of Progress • iPhone 5 supports the armV7s
instruction set
The March of Progress • iPhone 5 supports the armV7s
instruction set • Most statically compiled frameworks don’t
The March of Progress • iPhone 5 supports the armV7s
instruction set • Most statically compiled frameworks don’t • lipo -info binaryFile
The March of Progress • iPhone 5 supports the armV7s
instruction set • Most statically compiled frameworks don’t • lipo -info binaryFile • armV6 support dropped
The March of Progress • iPhone 5 supports the armV7s
instruction set • Most statically compiled frameworks don’t • lipo -info binaryFile • armV6 support dropped • iOS 4.3 and up
View Life Cycle • viewDidUnload and viewWillUnload no longer called
• didReceiveMemoryWarning • Don’t release your view
None
Maps
Maps • Simply replace http://maps.google.com with http://maps.apple.com
Maps • Simply replace http://maps.google.com with http://maps.apple.com • Backwards compatible
The Light at the End of the Tunnel
The Light at the End of the Tunnel • UIActivityViewController
The Light at the End of the Tunnel • UIActivityViewController
• UICollectionView
The Light at the End of the Tunnel • UIActivityViewController
• UICollectionView • NSAttributedString
The Light at the End of the Tunnel • UIActivityViewController
• UICollectionView • NSAttributedString • UIRefreshControl
The Light at the End of the Tunnel • UIActivityViewController
• UICollectionView • NSAttributedString • UIRefreshControl • Lots more
More Info • Twitter: @ameir • NSCoder