So why yes, it’s time to get right on that iOS 5 thing now, isn’t it? Final Xcode 4.2 available, public iOS Developer Library just chock full of today-dated new content for you to read through — so far, our favourite is
A CIFaceFeature object describes a face detected in a picture. Its properties provide locations for the face’s eyes and mouth.
Not quite sure just why that tickles our funny bone so. Perhaps there’s too much DXM in our cough syrup. Good times, good times.
Any-ways, once you browse through the mothership’s goodies, and the iOS 5 Readiness Checklist, here’s some other places to check out:
First — of course! — head over to His Superlative Tutorialness Ray Wenderlich’s site for
The iOS Feast consists of the following five courses:
Optional appetizer: User Interface Customization in iOS 5
First course: iOS Apprentice
Second course: iOS 5 By Tutorials
Third course: iOS 5 Tutorial Month
Dessert: iOS 5 Feast Giveaway
During the iOS 5 Feast, you’ll get to sink your teeth into GLKit, serve yourself with Storyboards, nibble on ARC, and gorge yourself on tons of other cool new APIs in iOS 5. By the time you’re done, you’ll feel like you’re on (i)Cloud 9! :]
Second, you want to do more than “nibble” on ARC, you want to visit more-than-superlative Mike Ash’s dissection
Friday Q&A 2011-09-30: Automatic Reference Counting
However, one thing that Messr. Ash does not discuss there, presumably because he finds it too obvious to mention, is that ARC and exceptions do not mix well:
ARC, Exceptions and Objective-C
In Objective-C exceptions are meant to be used ONLY in truly exceptional conditions. Cases where you’re willing to have your app crash if they occur.
Code accordingly.
(We point this out especially for the benefit of those who haven’t read the ‘Exceptions’ section of Why Dart is not the language of the future. Which has nothing to do with iOS 5, we just read that today and found it funny. Damn cough syrup.)
Also worthwhile to read the post after that last one,
Leaking ARC Memory on an NSURLConnection Wrapper?
just for a good example of the kind of thing that no doubt we’re all going run into getting our heads around this ARC thing.
And for backwards compatibility, be aware of ZWRCompatibility
Support Objective-C zeroing weak references with unsafe fallback on non-OS X 10.7/iOS 5.0
to help out with the weak vs. unsafe_unretained thing.
Some more general tips and reminders to skim over here:
Getting Ready for the iOS 5 Launch
And as a final for now topic, just in case you missed the kerfluffle this summer, UDIDs are now deprecated:
Do not use the uniqueIdentifier property. To create a unique identifier specific to your app, you can call the CFUUIDCreate function to create a UUID, and write it to the defaults database using the NSUserDefaults class.
Well, if you were trying to provide a user persistent experience, that’s a bit of a burn there, isn’t it? Some alternatives you may wish to look into:
OpenUDID.org — “Open source initiative for a universal and persistent UDID solution for iOS”
UIDevice-with-UniqueIdentifier-for-iOS-5 — “uses the device’s mac address in combination with the bundle identifier to generate a new hashed unique identifier”
How to Replace the UDID — “generate a fresh UUID on the first launch of our app and store it to the user defaults database…” in accordance with Apple’s instructions above.
Any other welcome-to-iOS-5 resources you’ve seen worth noting here, Dear Readers?
UPDATES:
The good folk over at ManiacDev also have good iOS 5 roundups:
Xcode 4 – iOS 5 Storyboard Tutorial And Guide
Using Storyboards To Create A Single View Application
Simple iOS 5 UI Design Tutorial Using Storyboard in XCode 4
Combining Emitter Layers with User Touches introduces CAEmitterLayer.
UISegmentedControl subclass for iOS5 works around setting segment no longer calling associated method.
GLKit Examples are newly added to Jeff Lamarche’s OpenGLapalooza.
Practical Blender with GLKit – Part 1 – Introducing GLKit
iOS 5 : Twitter Framework – Part 1 and Part 2
Automatic Reference Counting in Objective-C, Part 1 and Part 2
Understanding Automatic Reference Counting in Objective-C
Everything you need to know about ARC
Migrating your code to Objective-C ARC
Sync preference data with iCloud
Sync your NSUserDefaults to iCloud
iOS 5 Tech Talk: Michael Jurewitz on iCloud Storage
Add an iCloud photo gallery to your app
Library For Easy iCloud Image And Document Transfers With A Blocks Based Syntax
Fast face detection by Apple in iOS
Tutorial: How To Make Your App Work With The Newsstand
OCT