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
iPhone 5 and You! by Ameir Al-Zoubi
Search
Triangle Cocoa
September 27, 2012
Programming
220
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
360
Grand Central Dispatch by Jody Hagins
trianglecocoa
2
540
Instruments: Leaks by Trevor Brown
trianglecocoa
5
180
Foundation Collections by Kevin Conner
trianglecocoa
3
290
Multithreaded Drawing by Eric Lanz
trianglecocoa
3
260
Unburdened ViewControllers by Jay Thrash
trianglecocoa
9
11k
Automated Acceptance Testing by Josh Johnson
trianglecocoa
4
220
Understanding UIResponder by Dirk Smith
trianglecocoa
5
410
Taming Xcode by Jay Thrash
trianglecocoa
3
190
Other Decks in Programming
See All in Programming
Are APIs Still Relevant in the AI Era?
soyuka
0
460
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
4
4.8k
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
phperだってパンチカードでコーディングしたい
o0h
PRO
0
300
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
140
AWSに止められる覚悟してますか?
morizo_1984
2
530
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.3k
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
Domain-Driven Transformation
hschwentner
2
2.3k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.3k
JRuby: Past, Present, and Future
headius
0
230
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
650
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
GraphQLとの向き合い方2022年版
quramy
50
15k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Between Models and Reality
mayunak
4
490
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
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