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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Triangle Cocoa
September 27, 2012
Programming
0
200
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
310
Grand Central Dispatch by Jody Hagins
trianglecocoa
2
500
Instruments: Leaks by Trevor Brown
trianglecocoa
5
170
Foundation Collections by Kevin Conner
trianglecocoa
3
270
Multithreaded Drawing by Eric Lanz
trianglecocoa
3
230
Unburdened ViewControllers by Jay Thrash
trianglecocoa
9
11k
Automated Acceptance Testing by Josh Johnson
trianglecocoa
4
190
Understanding UIResponder by Dirk Smith
trianglecocoa
5
350
Taming Xcode by Jay Thrash
trianglecocoa
3
160
Other Decks in Programming
See All in Programming
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.4k
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
360
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
230
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
150
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
200
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
12
7.1k
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
190
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
200
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
560
Python’s True Superpower
hynek
0
190
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
500
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
360
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Color Theory Basics | Prateek | Gurzu
gurzu
0
220
Speed Design
sergeychernyshev
33
1.6k
Facilitating Awesome Meetings
lara
57
6.8k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
83
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Technical Leadership for Architectural Decision Making
baasie
3
270
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
110
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