Tuesday, April 8, 2014

iOS Architecture [ iPhone ]

reference:-http://www.techotopia.com/
iOS  Architecture




Application runs above the Cocoa Touch layer. Application can call any of layer to perform task.
Abstraction increments as layer goes away from hardware.

1. COCOA touch layer:-

Its upper layer written in objective C and derived (modified and extended ) standard Mac OS X Cocoa API. It consists of following frameworks.
 UIKit.framework - IT's UIkit framework. It contains application lifecycle management, event handling, UI creation and management, multitasking, cut copy paste functionality,Data protection,  Push Notification Service, Local notifications (a mechanism whereby an application running in the background can gain the user’s attention), gesture recognition., file sharing, Accelerometer, battery, proximity sensor, camera and photo library interaction. 
iAd.framework - to display advertising in the application. All advertisements are served by Apple’s own ad service.
MessageUI.framework- used in application to compose and send mail.
MapKit.framework:- used in app to use map related services.
AddressUI.framework:-used for to access, display, edit and enter contact information.
GameKit.framework:-provides framework for multiplayer game.
Push Notification Service :- for allow application to notify the user when application is not running.
Event Kit UI Framework:-to access and edit calendar event.

2. Media Services Layer


This layer provides audio, video , animation and graphics services to application developer.

CoreVideo.framework:- for video purpose, even with  streaming video support (network)
CoreText.framework:-for text layout and font
ImageIO.framework:- for importing and exxporting of image data and image metadata
AssetsLibrary.framework:- For finding and accesing photo and video files. adding new photo and videos to album.
CoreGraphics.framework( Quartz 2D API):-provide 2D rendering engine, support creation and presentation of pdf , vector based drawing , transparent layer,image rendering and gradient
QuartzCore.framework:-For animation and visual effects.
OpenGLES.framework:-for high performance 2D and 3D drawing
iOS Audio Support:- audio in AAC, Apple Lossless (ALAC), A-law, IMA/ADPCM, Linear PCM, µ-law, DVI/Intel IMA ADPCM, Microsoft GSM 6.10 and AES3-2003 formats
AVFoundation.framework:-playback, recording and management of audio content. this is objective C based
Core Audio Frameworks (CoreAudio.framework, AudioToolbox.framework and AudioUnit.framework):-playback and recording of audio files and streams and also provide access to the device’s built-in audio processing units.
OpenAL:- provide high-quality, 3D audio effects, typically using to provide sound effects in games.
MediaPlayer.framework:-is able to play video in .mov, .mp4, .m4v, and .3gp formats
CoreMIDI.framework:-to interact with MIDI compliant devices such as synthesizers and keyboards 

3.iOS Core Services Layer

this layer provides the foundation on which the above layer built.
AddressBook.framework:- access to addressbok contact database . add , modify, delete contactCFNetwork.framework:-provides a C-based interface to the TCP/IP networking protocol stack and low level access to BSD sockets. This enables application code to be written that works with HTTP, FTP and Domain Name servers and to establish secure and encrypted connections using Secure Sockets Layer (SSL) or Transport Layer Security (TLS).
CoreData.framework:-to ease the creation of data modeling and storage in Model-View-Controller
CoreFoundation.framework:- C-based Framework. provides basic functionality such as data types, string manipulation, raw block data management, URL manipulation, threads and run loops, date and times, basic XML manipulation and port and socket communication.
CoreMedia.framework:- lower level foundation upon which the AV Foundation layer is built
CoreTelephony.framework:- to access data related to telephony part.

EventKit.framework:-access to the calendar and alarms on the device.
Foundation.framework:-consists of Objective-C wrappers around much of the C-based Core Foundation Framework.
CoreLocation.framework:-to obtain the current geographical location of the device  and compass readings This will either be based on GPS readings, Wi-Fi network data or cell tower triangulation (or some combination of the three).
MobileCoreServices.framework:-identifying data types as text, RTF, HTML, JavaScript, PowerPoint .ppt files, PhotoShop images and MP3 files.
StoreKit.framework:- to facilitate commerce transactions between your application and the Apple App Store.  user can be given the option make additional payments from within the application.
SQLite library:-or a lightweight, SQL based database to be created and manipulated from within your iPhone application.
SystemConfiguration.framework:-allows applications to access the network configuration settings of the device to establish information about the “reachability” of the device (for example whether Wi-Fi or cell connectivity is active and whether and how traffic can be routed to a server).
QuickLook.framework:-provides a useful mechanism for displaying previews of the contents of files types loaded onto the device (typically via an internet or network connection) for which the application does not already provide support. File format types supported by this framework include iWork, Microsoft Office document, Rich Text Format, Adobe PDF, Image files, public.text files and comma separated (CSV).


4.iOS Core OS layer

sits directly on top of the device hardware.provides a variety of services including low level networking, access to external accessories and the usual fundamental operating system services such as memory management, file system handling and threads.

Accelerate.framework:-C-based API for performing complex and large number math, vector, digital signal processing (DSP) and image processing tasks and calculations.
ExternalAccessory.framework:-to interrogate and communicate with external accessories connected physically to the iPhone via the 30-pin dock connector or wirelessly via Bluetooth
Security.framework:-provides all type  of security interfaces including connect to external networks including certificates, public and private keys, trust policies, keychains, encryption, digests and Hash-based Message Authentication Code (HMAC)
LibSystem(System):-iOS is built upon a UNIX-like foundation. component of the Core OS Layer provides much the same functionality as any other UNIX like operating system.This layer includes the operating system kernel  and device drivers. provides the low level interface to the underlying hardware. kernel is responsible for memory allocation, process lifecycle management, input/output, inter-process communication, thread management, low level networking, file system access and thread management.As an app developer your access to the System interfaces is restricted for security and stability reasons. 






0 comments:

Post a Comment

About

Powered by Blogger.