iOS 7 is here and we are all very excited. But, as programmers, this isn’t a time to celebrate. This is a time to be concerned. About what, you ask? API Differences is all I can say. How does iOS 7 affect our apps and what is there for us to learn? The iOS SDK is a huge collection of APIs and many of us won’t have time to play with all of the APIs. So we need to be selective about what APIs we use and how efficiently we plan to use them. In this post, I’m going to briefly tell you about some of the new APIs that you need to keep an eye on in iOS 7.
Additions to iOS 7
These are all the Dynamics APIs that Apple has added to UIKit. Start by learning about the UIDynamicAnimator class and take it from there. That is the key to UI Dynamics.
iOS 7 can wake an iOS app up at certain intervals so that the app can do some “calculations”. So your app can tell iOS 7 that it wishes to awaken every few hours and do some work. Look into the setMinimumBackgroundFetchInterval: method of UIApplication class, as the key to this awesome feature.
You can now change the map’s camera’s angle/view. Using this you can achieve really nice effects on the map and take the user from 1 point on the map to another point, using a smooth animation of the camera, just like in the movies! Look into the MKMapCamera class for more information.
Apple added this new framework to iOS 7. It’s called the Sprite Kit framework and I suggest that you start looking into its header files and documentation for more information. It’s really there to allow us developers to create very (cannot stress “very” enough) simple games and animations. If you are doing simple UIKit animations and using Core Animations, stick with that. But if you want to write a game for children for instance, avoid using Core Animation and UIKit animations and instead use Sprite Kit.
I know this is small news but Apple finally added Base64 functionalities to the NSData class. It took them how many years? About 7? Thank you Apple, it’s very kind of you.
Modifications and Deprecations in iOS 7
These were the big additions but what about modifications? Here are some of the deprecated APIs to keep an eye on.
- The wantsFullScreenLayout property of UIViewController is deprecated in iOS 7.
- NSString drawing is now done through new APIs. In Xcode, press Cmd+Shift+O and type NSStringDrawing.h and press the Enter key. You will see the new APIs and the ones that are deprecated.
- If you want to uniquely identify an iOS device, use the new identifierForVendor property of UIDevice.