Thursday, 26 September 2013


iOS 6.1 to iOS 7.0 API Differences

Deprecated APIs in iOS7

From time to time, Apple adds deprecation macros to APIs to indicate that those APIs should no longer be used in active development. When a deprecation occurs, it is not an immediate end-of-life to the specified API. Instead, it is the beginning of a grace period for transitioning off that API and onto newer and more modern replacements. Deprecated APIs typically remain present and usable in the system for a reasonable amount of time past the release in which they were deprecated. However, active development on them ceases and the APIs receive only minor changes—to accommodate security patches or to fix other critical bugs. Deprecated APIs may be removed entirely from a future version of the operating system.

As a developer, it is important that you avoid using deprecated APIs in your code as soon as possible. At a minimum, new code you write should never use deprecated APIs. And if you have existing code that uses deprecated APIs, update that code as soon as possible. Fortunately, the compiler generates warnings whenever it spots the use of a deprecated API in your code, and you can use those warnings to track down and remove all references to those APIs.
This release includes deprecations in the following technology areas:
  • The Map Kit framework includes deprecations for the MKOverlayView class and its various subclasses. The existing overlay views have been replaced with an updated set of overlay renderer objects that descend from the MKOverlayRenderer class. For more information about the classes of this framework, see Map Kit Framework Reference.
  • The Audio Session API in the Audio Toolbox framework is deprecated. Apps should use the AVAudioSession class in the AV Foundation framework instead.
  • The CLRegion class in the Core Location framework is replaced by the CLCircularRegion class. The CLRegion class continues to exist as an abstract base class that supports both geographic and beacon regions.
  • The UUID property of the CBCentral class is deprecated. To specify the unique ID of your central objects, use the identifier property instead.
  • The Game Kit framework contains assorted deprecations intended to clean up the existing API and provide better support for new features.
  • The UIKit framework contains the following deprecations:
    • The wantsFullScreenLayout property of UIViewController is deprecated. In iOS 7 and later, view controllers always support full screen layout.
    • UIColor objects that provided background textures for earlier versions of iOS are gone.
    • Many drawing additions to the NSString class are deprecated in favor of newer variants.
  • The gethostuuid function in the libsyscall library is deprecated.
  • In iOS 7 and later, if you ask for the MAC address of an iOS device, the system returns the value 02:00:00:00:00:00. If you need to identify the device, use the identifierForVendorproperty of UIDevice instead. (Apps that need an identifier for their own advertising purposes should consider using the advertisingIdentifier property of ASIdentifierManagerinstead.)

Added frameworks:

  • GameController
  • JavaScriptCore
  • MediaAccessibility
  • MultipeerConnectivity
  • SafariServices
  • SpriteKit

No comments:

Post a Comment