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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Triangle Cocoa
September 27, 2012
Programming
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Triangle Cocoa
See All by Triangle Cocoa
App Store Secrets by Lawrence Ingraham
trianglecocoa
1
340
Grand Central Dispatch by Jody Hagins
trianglecocoa
2
520
Instruments: Leaks by Trevor Brown
trianglecocoa
5
180
Foundation Collections by Kevin Conner
trianglecocoa
3
290
Multithreaded Drawing by Eric Lanz
trianglecocoa
3
240
Unburdened ViewControllers by Jay Thrash
trianglecocoa
9
11k
Automated Acceptance Testing by Josh Johnson
trianglecocoa
4
210
Understanding UIResponder by Dirk Smith
trianglecocoa
5
390
Taming Xcode by Jay Thrash
trianglecocoa
3
180
Other Decks in Programming
See All in Programming
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
350
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
640
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
210
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
220
React本体のコードリーディング
high_g_engineer
1
140
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
680
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
220
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
470
Android CLI
fornewid
0
220
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.8k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
350
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
380
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
480
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
660
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
460
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Code Review Best Practice
trishagee
74
20k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
240
Design in an AI World
tapps
1
280
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
Prompt Engineering for Job Search
mfonobong
0
400
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
[email protected]
The Letterbox • Include a new Default.png named
[email protected]
•
Needs to be 640 × 1136 pixels
The Letterbox • Include a new Default.png named
[email protected]
•
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