Friday, September 28, 2012

List of Frameworks present in iPhoneOS5.0 SDK

                   List of Frameworks present in iPhoneOS5.0 SDK

Here are list of frameworks which are present in iOS5.0 SDK.

Accounts.framework [iOS5]

Introduced in iOS 5, the Accounts framework (Accounts.framework) provides a single sign-on model for certain user accounts. Single sign-on improves the user experience, because applications no longer need to prompt a user separately for login information related to an account. It also simplifies the development model for you by managing the account authorization process for your application. In iOS 5.0, applications can use this framework in conjunction with the Twitter framework to access a user’s Twitter account.


Introduced in iOS 4.0, the Accelerate framework (Accelerate.framework) contains interfaces for performing DSP, linear algebra, and image-processing calculations. The advantage of using this framework over writing your own versions of these interfaces is that they are optimized for all of the hardware configurations present in iOS-based devices. Therefore, you can write your code once and be assured that it runs efficiently on all devices.


The Address Book framework (AddressBook.framework) provides programmatic access to the contacts stored on a user’s device. If your application uses contact information, you can use this framework to access and modify the records in the user’s contacts database. For example, a chat program might use this framework to retrieve the list of possible contacts with which to initiate a chat session and display those contacts in a custom view.


The Address Book UI framework (AddressBookUI.framework) is an Objective-C programming interface that you use to display standard system interfaces for creating new contacts and for editing and selecting existing contacts. This framework simplifies the work needed to display contact information in your application and also ensures that your application uses the same interfaces as other applications, thus ensuring consistency across the platform.


You use the Assets Library framework to access the pictures and videos managed by the Photos application.


Provides playback and recording services for audio files and streams. This framework also provides support for managing audio files, playing system alert sounds, and triggering the vibrate capability on some devices.


Provides services for using the built-in audio units, which are audio processing modules.


Introduced in iOS 2.2, the AV Foundation framework (AVFoundation.framework) contains Objective-C classes for playing audio content. You can use these classes to play file- or memory-based sounds of any duration. You can play multiple sounds simultaneously and control various playback aspects of each sound. In iOS 3.0 and later, this framework also includes support for recording audio and managing audio session information.
In iOS 4.0 and later, the services offered by this framework were expanded to include:
  • Media asset management
  • Media editing
  • Movie capture
  • Movie playback
  • Track management
  • Metadata management for media items
  • Stereophonic panning
  • Precise synchronization between sounds
  • An Objective-C interface for determining details about sound files, such as the data format, sample rate, and number of channels
In iOS 5, the AV Foundation framework includes support for streaming audio and video content over AirPlay using the AVPlayer class. AirPlay support is enabled by default, but applications can opt out as needed.
The AV Foundation framework is a single source for recording and playing back audio and video in iOS. This framework also provides much more sophisticated support for handling and managing media items than higher-level frameworks

Native support for audio is provided by the Core Audio family of frameworks, which are listed in Table 3-1Core Audio is a C-based interface that supports the manipulation of stereo-based audio. You can use Core Audio in iOS to generate, record, mix, and play audio in your applications. You can also use Core Audio to trigger the vibrate capability on devices that support it.


Introduced in iOS 3.0, the Core Data framework (CoreData.framework) is a technology for managing the data model of a Model-View-Controller application. Core Data is intended for use in applications in which the data model is already highly structured. Instead of defining data structures programmatically, you use the graphical tools in Xcode to build a schema representing your data model. At runtime, instances of your data-model entities are created, managed, and made available through the Core Data framework.
By managing your application’s data model for you, Core Data significantly reduces the amount of code you have to write for your application. Core Data also provides the following features:
  • Storage of object data in a SQLite database for optimal performance
  • NSFetchedResultsController class to manage results for table views
  • Management of undo/redo beyond basic text editing
  • Support for the validation of property values
  • Support for propagating changes and ensuring that the relationships between objects remain consistent
  • Support for grouping, filtering, and organizing data in memory

The Core Foundation framework (CoreFoundation.framework) is a set of C-based interfaces that provide basic data management and service features for iOS applications. This framework includes support for the following:
  • Collection data types (arrays, sets, and so on)
  • Bundles
  • String management
  • Date and time management
  • Raw data block management
  • Preferences management
  • URL and stream manipulation
  • Threads and run loops
  • Port and socket communication
The Core Foundation framework is closely related to the Foundation framework, which provides Objective-C interfaces for the same basic features. When you need to mix Foundation objects and Core Foundation types, you can take advantage of the “toll-free bridging” that exists between the two frameworks. Toll-free bridging means that you can use some Core Foundation and Foundation types interchangeably in the methods and functions of either framework. This support is available for many of the data types, including the collection and string data types. The class and type descriptions for each framework state whether an object is toll-free bridged and, if so, what object it is connected to.
CoreGraphics.framework [Default]

The Core Graphics framework (CoreGraphics.framework) contains the interfaces for the Quartz 2D drawing API. Quartz is the same advanced, vector-based drawing engine that is used in Mac OS X. It provides support for path-based drawing, anti-aliased rendering, gradients, images, colors, coordinate-space transformations, and PDF document creation, display, and parsing. Although the API is C based, it uses object-based abstractions to represent fundamental drawing objects, making it easy to store and reuse your graphics content


The Core Location framework (CoreLocation.framework) provides location and heading information to applications. For location information, the framework uses the onboard GPS, cell, or Wi-Fi radios to find the user’s current longitude and latitude. You can incorporate this technology into your own applications to provide position-based information to the user. For example, you might have a service that searches for nearby restaurants, shops, or facilities, and base that search on the user’s current location.
In iOS 3.0, support was added for accessing compass-based heading information on iOS-based devices that include a magnetometer.
In iOS 4.0, support was introduced for a low-power location-monitoring service that uses cellular towers to track changes in the user’s location.


Introduced in iOS 4.0, the Core Media framework (CoreMedia.framework) provides the low-level media types used by the AV Foundation framework. Most applications never need to use this framework, but it is provided for those few developers who need more precise control over the creation and presentation of audio and video content.

CoreImage.framework [iOS5]

Introduced in iOS 5, the Core Image framework (CoreImage.framework) provides a powerful set of built-in filters for manipulating video and still images. You can use the built-in filters for everything from simple operations (like touching up and correcting photos) to more advanced operations (like face and feature detection). The advantage of using these filters is that they operate in a nondestructive manner so that your original images are never changed directly. In addition, Core Image takes advantage of the available CPU and GPU processing power to ensure that operations are fast and efficient.
The CIImage class provides access to a standard set of filters that you can use to improve the quality of a photograph. To create other types of filters, you can create and configure aCIFilter object for the appropriate filter type.

Introduced in iOS 4.2, the Core MIDI framework (CoreMIDI.framework) provides a standard way to communicate with MIDI devices, including hardware keyboards and synthesizers. You use this framework to send and receive MIDI messages and to interact with MIDI peripherals connected to an iOS-based device using the dock connector or network.


The Core Motion framework lets your application receive motion data from device hardware and process that data. This hardware includes an accelerometer and, on some device models, a magnetometer and a gyroscope. Through the CMMotionManager class you can start receiving accelerometer, gyroscope, magnetometer, and combined device-motion events at regular intervals or you can poll for them periodically.


Introduced in iOS 3.2, the Core Text framework (CoreText.framework) contains a set of simple, high-performance C-based interfaces for laying out text and handling fonts. The Core Text framework provides a complete text layout engine that you can use to manage the placement of text on the screen. The text you manage can also be styled with different fonts and rendering attributes.
This framework is intended for use by applications that require sophisticated text handling capabilities, such as word-processing applications. If your application requires only simple text input and display, you should continue to use the existing text classes of the UIKit framework.

Introduced in iOS 4.0, the Core Telephony framework (CoreTelephony.framework) provides interfaces for interacting with phone-based information on devices that have a cellular radio. Applications can use this framework to get information about a user’s cellular service provider. Applications interested in cellular call events (such as VoIP applications) can also be notified when those events occur.


Introduced in iOS 4.0, the Core Video framework (CoreVideo.framework) provides buffer and buffer pool support for the Core Media framework. Most applications never need to use this framework directly.


The CFNetwork framework (CFNetwork.framework) is a set of high-performance C-based interfaces that use object-oriented abstractions for working with network protocols. These abstractions give you detailed control over the protocol stack and make it easy to use lower-level constructs such as BSD sockets. You can use this framework to simplify tasks such as communicating with FTP and HTTP servers or resolving DNS hosts. With the CFNetwork framework, you can:
  • Use BSD sockets
  • Create encrypted connections using SSL or TLS
  • Resolve DNS hosts
  • Work with HTTP servers, authenticating HTTP servers, and HTTPS servers
  • Work with FTP servers
  • Publish, resolve, and browse Bonjour services

Introduced in iOS 3.0, the External Accessory framework (ExternalAccessory.framework) provides support for communicating with hardware accessories attached to an iOS-based device. Accessories can be connected through the 30-pin dock connector of a device or wirelessly using Bluetooth. The External Accessory framework provides a way for you to get information about each available accessory and to initiate communications sessions. After that, you are free to manipulate the accessory directly using any commands it supports.


Introduced in iOS 4.0, the Event Kit UI framework (EventKitUI.framework) provides view controllers for presenting the standard system interfaces for viewing and editing calendar-related events. This framework builds upon the event-related data in the Event Kit framework, which is described in “Event Kit Framework.”


Introduced in iOS 4.0, the Event Kit UI framework (EventKitUI.framework) provides view controllers for presenting the standard system interfaces for viewing and editing calendar-related events. This framework builds upon the event-related data in the Event Kit framework, which is described in “Event Kit Framework.”

Foundation.framework [Default]

The Foundation framework (Foundation.framework) provides Objective-C wrappers to many of the features found in the Core Foundation framework, which is described in “Core Foundation Framework.” The Foundation framework provides support for the following features:
  • Collection data types (arrays, sets, and so on)
  • Bundles
  • String management
  • Date and time management
  • Raw data block management
  • Preferences management
  • URL and stream manipulation
  • Threads and run loops
  • Bonjour
  • Communication port management
  • Internationalization
  • Regular expression matching
  • Cache support

Introduced in iOS 3.0, the Game Kit framework (GameKit.framework) lets you add peer-to-peer network capabilities to your applications. Specifically, this framework provides support for peer-to-peer connectivity and in-game voice features. Although these features are most commonly found in multiplayer network games, you can incorporate them into applications other than games as well. The framework provides networking features through a simple (yet powerful) set of classes built on top of Bonjour. These classes abstract out many of the network details. For developers who might be inexperienced with networking programming, the framework allows them to incorporate networking features into their applications.
Introduced in iOS 4.1, Game Center is an extension to the Game Kit framework that provides support for the following features:
  • Aliases, to allow users to create their own online persona. Users log in to Game Center and interact with other players anonymously through their alias. Players can set status messages as well as mark specific people as their friends.
  • Leaderboards, to allow your application to post user scores to Game Center and retrieve them later. You might use this feature to show the best scores among all users of your application.
  • Matchmaking, to allow you to create multiplayer games by connecting players who are logged into Game Center. Players do not have to be local to each other to join a multiplayer game.
  • Achievements, to allow you to record the progress a player has made in your game.
In iOS 5 and later, you can use the GKTurnBasedMatch class to implement support for turn-based gaming, which allows games to create persistent matches whose state is stored in iCloud. Your game manages the state information for the match and determines which player must act to advance the state of the match.
GLKit.framework [iOS5]

Introduced in iOS 5, the GLKit framework (GLKit.framework) contains a set of Objective-C based utility classes that simplify the effort required to create an OpenGL ES 2.0 application. GLKit provides support for four key areas of application development:
  • The GLKView and GLKViewController classes provide a standard implementation of an OpenGL ES–enabled view and associated rendering loop. The view manages the underlying framebuffer object on behalf of the application; your application just draws to it.
  • The GLKTextureLoader class provides image conversion and loading routines to your application, allowing it to automatically load texture images into your context. It can load textures synchronously or asynchronously. When loading textures asynchronously, your application provides a completion handler block to be called when the texture is loaded into your context.
  • The GLKit framework provides implementations of vector, matrix, and quaternions as well as a matrix stack operation to provides the same functionality found in OpenGL ES 1.1.
  • The GLKBaseEffectGLKSkyboxEffect, and GLKReflectionMapEffect classes provide precreated, configurable graphics shaders that implement commonly used graphics operations. In particular, the GLKBaseEffect class implements the lighting and material model found in the OpenGL ES 1.1 specification, simplifying the effort required to migrate an application from OpenGL ES 1.1 to OpenGL ES 2.0.
GSS.framework [iOS5]

Introduced in iOS 5, the Generic Security Services framework (GSS.framework) provides a standard set of security-related services to iOS applications. The basic interfaces of this framework are specified in IETF RFC 2743 and RFC 4401. In addition to offering the standard in


Introduced in iOS 4.0, the iAd framework (iAd.framework) lets you deliver banner-based advertisements from your application. Advertisements are incorporated into standard views that you integrate into your user interface and present when you want. The views themselves work with Apple’s ad service to automatically handle all the work associated with loading and presenting the ad content and responding to taps in those ads.


Introduced in iOS 4.0, the Image I/O framework (ImageIO.framework) provides interfaces for importing and exporting image data and image metadata. This framework makes use of the Core Graphics data types and functions and supports all of the standard image types available in iOS.


The I/O Kit is a collection of system frameworks, libraries, tools, and other resources for creating device drivers in Mac OS X. It is based on an object-oriented programming model implemented in a restricted form of C++ that omits features unsuitable for use within a multithreaded kernel. By modeling the hardware connected to a Mac OS X system and abstracting common functionality for devices in particular categories, the I/O Kit streamlines the process of device-driver development.

Introduced in iOS 3.0, the Map Kit framework (MapKit.framework) provides a scrollable map interface that you can integrate into your existing view hierarchies. You can use this map to provide directions or highlight points of interest. Applications can programmatically set attributes of the map or let the user navigate the map freely. You can also annotate the map with custom images or content.
In iOS 4.0, the basic map view gained support for draggable annotations and custom overlays. Draggable annotations allow you to reposition an annotation, either programmatically or through user interactions, after it has been placed on the map. Overlays offer a way to create complex map annotations that comprise more than one point. For example, you can use overlays to layer information such as bus routes, election maps, park boundaries, or weather information (such as radar data) on top of the map.

The Media Player framework (MediaPlayer.framework) provides high-level support for playing audio and video content from your application. You can use this framework to play video using a standard system interface.
In iOS 3.0, support was added for accessing the user’s iTunes music library. With this support, you can play music tracks and playlists, search for songs, and present a media picker interface to the user.
In iOS 3.2, changes were made to support the playback of video from a resizable view. (Previously, only full-screen support was available.) In addition, numerous interfaces were added to support the configuration and management of movie playback.
In iOS 5, support was added for displaying “Now Playing” information in the lock screen and multitasking controls. This information can also be displayed on an Apple TV and with content delivered via AirPlay. There are also interfaces for detecting whether video is being streamed over AirPlay.
Introduced in iOS 3.0, the Message UI framework (MessageUI.framework) provides support for composing and queuing email messages in the user’s outbox. The composition support consists of a view controller interface that you present in your application. You can prepopulate the fields of this view controller to set the recipients, subject, body content, and any attachments you want to include with the message. After presenting the view controller, the user then has the option of editing the message prior to sending it.
In iOS 4.0 and later, this framework provides a view controller for presenting an SMS composition screen. You can use this view controller to create and edit SMS messages without leaving your application. As with the mail composition interface, this interface gives the user the option to edit the message before sending it.

Introduced in iOS 3.0, the Mobile Core Services framework (MobileCoreServices.framework) defines the low-level types used in Uniform Type Identifiers (UTIs).


Introduced in iOS 5, Newsstand provides a central place for users to read magazines and newspapers. Publishers who want to deliver their magazine and newspaper content through Newsstand can create their own iOS applications using the Newsstand Kit framework (NewsstandKit.framework), which lets you initiate background downloads of new magazine and newspaper issues. After you start a download, the system handles the download operation and notifies your application when the new content is available.


The OpenGL ES framework (OpenGLES.framework) provides tools for drawing 2D and 3D content. It is a C-based framework that works closely with the device hardware to provide high frame rates for full-screen game-style applications.
You always use the OpenGL framework in conjunction with the EAGL interfaces. These interfaces are part of the OpenGL ES framework and provide the interface between your OpenGL ES drawing code and the native window objects defined by UIKit.
In iOS 3.0 and later, the OpenGL ES framework includes support for both the OpenGL ES 2.0 and the OpenGL ES 1.1 interface specifications. The 2.0 specification provides support for fragment and vertex shaders and is available only on specific iOS-based devices running iOS 3.0 and later. Support for OpenGL ES 1.1 is available on all iOS-based devices and in all versions of iOS.
The Open Audio Library (OpenAL) interface is a cross-platform standard for delivering positional audio in applications. You can use it to implement high-performance, high-quality audio in games and other programs that require positional audio output. Because OpenAL is a cross-platform standard, the code modules you write using OpenAL on iOS can be ported to many other platforms easily.


The Quartz Core framework (QuartzCore.framework) contains the Core Animation interfaces. Core Animation is an advanced animation and compositing technology that uses an optimized rendering path to implement complex animations and visual effects. It provides a high-level Objective-C interface for configuring animations and effects that are then rendered in hardware for performance. Core Animation is integrated into many parts of iOS, including UIKit classes such as UIView, providing animations for many standard system behaviors. You can also use the Objective-C interface in this framework to create custom animations.


Introduced in iOS 4.0, the Quick Look framework (QuickLook.framework) provides a direct interface for previewing the contents of files your application does not support directly. This framework is intended primarily for applications that download files from the network or that otherwise work with files from unknown sources. After obtaining the file, you use the view controller provided by this framework to display the contents of that file directly in your user interface.


This collection of documents provides the API reference for the Security framework, which defines C interfaces for protecting information and controlling access to software.

Introduced in iOS 3.0, the Store Kit framework (StoreKit.framework) provides support for the purchasing of content and services from within your iOS applications. For example, you could use this feature to allow the user to unlock additional application features. Or if you are a game developer, you could use it to offer additional game levels. In both cases, the Store Kit framework handles the financial aspects of the transaction, processing payment requests through the user’s iTunes Store account and providing your application with information about the purchase.
The Store Kit focuses on the financial aspects of a transaction, ensuring that transactions occur securely and correctly. Your application handles the other aspects of the transaction, including the presentation of a purchasing interface and the downloading (or unlocking) of the appropriate content. This division of labor gives you control over the user experience for purchasing content. You decide what kind of purchasing interface you want to present to the user and when to do so. You also decide on the delivery mechanism that works best for your application.

The System Configuration framework (SystemConfiguration.framework) provides the reachability interfaces, which you can use to determine the network configuration of a device. You can use this framework to determine whether a Wi-Fi or cellular connection is in use and whether a particular host server can be accessed.

Twitter.framework [iOS5]

Introduced in iOS 5, the Twitter framework (Twitter.framework) provides support for sending Twitter requests on behalf of the user and for composing and sending tweets. For requests, the framework handles the user authentication part of the request for you and provides a template for creating the HTTP portion of the request. (Refer to the Twitter API for populating the content of the request.) The composition of tweets is accomplished using theTWTweetComposeViewController class, which is a view controller that you post with your proposed tweet content. This class gives the user a chance to edit or modify the tweet before sending it.
Users control whether an application is allowed to communicate with Twitter on their behalf using Settings. The Twitter framework also works in conjunction with the Accounts framework (Accounts.framework) to access the user’s account.
UIKit.framework [Default]

The UIKit framework (UIKit.framework) provides the key infrastructure for implementing graphical, event-driven applications in iOS. Every iOS application uses this framework to implement the following core features:
  • Application management
  • User interface management, including support for storyboards and nib files
  • Graphics and windowing support, including support for multiple displays
  • Multitasking support; see “Multitasking”
  • Printing support; see “Printing”
  • Support for customizing the appearance of standard UIKit controls (iOS 5 and later)
  • Support for implementing view controllers that incorporate content from other view controllers
  • Support for handling touch and motion-based events
  • Objects representing the standard system views and controls
  • Support for text and web content
  • Cut, copy, and paste support
  • Support for animating user-interface content
  • Integration with other applications on the system through URL schemes
  • Support for the Apple Push Notification Service; see “Apple Push Notification Service”
  • Accessibility support for disabled users
  • Local notification scheduling and delivery; see “Local Notifications”
  • PDF creation
  • Support for using custom input views that behave like the system keyboard
  • Support for creating custom text views that interact with the system keyboard
In addition to providing the fundamental code for building your application, UIKit also incorporates support for some device-specific features, such as the following:
  • Accelerometer data
  • The built-in camera (where present)
  • The user’s photo library
  • Device name and model information
  • Battery state information
  • Proximity sensor information
  • Remote-control information from attached headsets

No comments:

Post a Comment