Ios Software Development Kit Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

iOS is operating system distributed and developed by Apple Inc, in 2007, and at this time it was called iPhone operating system, this operating system developed at first for iPhone devices, after that iPhone OS was run on the other mobile devise use touch screen developed by Apple Inc, such as the iPod touch, the iPad, and more recently the apple TV, there devises are call (iDevise), after then was renamed iPhone OS to ( iOS) to better reflect the fact that it runs on other iDevices.

iOS is based on the NeXTSTEP OS developed by NeXT Computer Inc, which was founded by Steve Jobs in 1985. Then Apple was gained NeXT, and NeXTSTEP technology made its way into OS X.

NeXTSTEP had a graphical user interface and many core technologies introduced by NeXTSTEP are still found in its successors, such as application bundles and Interface Builder. Interface Builder is widely used for both OS X and iOS Cocoa applications.[1]

2.1.3 iOS Version History

The version history of the iOS began with the release of the first iPhone device in June 2007. at this time Apple's iOS didn't have an official name. So that the iPhone runs a version of "OS X" parent operating system until the release of the iPhone software development kit (iPhone SDK) on March , 2008. When introduced, it was named iPhone OS, and on June 7, 2010,It was renamed iOS .[2]

Apple provides updates to the iOS (iPhone OS) operating system for the iPhone, the iPad and the iPod Touch, through iTunes and (iDevices), Apple provide over-the-air software updates since iOS 5.0 With the announcement of iOS 5 on June , 2011 , a USB connection to iTunes there is no longer need to activate iOS devices; data synchronization through Apple's iCloud service it can happen automatically and wirelessly .The iOS 6 is most recent major update, it add around of 200 new features. [3]

iPhone OS 1.x

This version of iPhone os was the first release for iPhone and ipod touch , on June,2007, some of the Features in iPhone os1 was The core iOS user interface , Mobile Safari web browser , A "widescreen" iPod . iPhone os have many updated that add features or improved the apps.[4][ 2]

iPhone OS 2.x

iPhone OS 2.x was the second operating system release on iPhone 3G on July 11, 2008. some of the features for this version is introduces the App on the device itself , and making applications available to iPhone and iPod Touch.

Apple provided for developers a software development kit (SDK) tools to make applications for iPhone and iPod Touch.[2]

iPhone OS 3.x

This version was released on June 17, 2009, for the iPhone 3GS and avarable for iPhone 3G , iPhone (1st generation), and iPod Touch (1st and 2nd Gen)

This release added some features such as MMS, and copy and paste. and improved some features . [2]

iOS 4.x

On June, 2010, iOS 4 was made available to the public for the iPhone 4 , iPhone 3GS, iPhone 3G and iPod Touch (2nd and 3rd Gen) and it was the first release that renamed simply "iOS".

The iPhone (1st Gen), iPhone 3G and iPod Touch (1st Gen and 2nd Gen) did not support multitask feature in iOS 4,and the not able to set a home screen wallpaper. While the iPhone 3GS, the iPhone 4, and the iPod Touch (3rd & 4th Gen) have all the features enabled, such as set a home screen wallpaper and multitasking.

On November 22, 2010 Apple released new update for iOS 4 compatibility with ipad


iOS 5.x

iOS 5 was major version of iOS mobile operating system from Apple Inc. iOS 5 introduced so many new features. such as Notification Center,iTunes Wi-Fi Sync,iMessage, iCloud, and more other. iOS 5 was available for iPhone 4 , iPhone 3GS, iPod Touch (2nd and 3rd Gen) and ipad (1st and 2nd Gen).[5]

iOS 6.x

Apple Inc releases the latest major version of mobile operating system was iOS 6 , on June 11, 2012 . older devices specifically the iPod Touch (3rd Gen) and the iPad (1st Gen) are no longer supported in iOS 6. the devices Supported on this release include the iPod Touch (4th generation) onwards, the iPhone 3GS onwards,and the iPad2 onwards.

The Apple Inc removed Two apps from iOS 6 are Google Maps and YouTube. and add many features such as Apple Maps,Siri enhancements, Notification Center, Facebook integration, Passbook, Shared Photo Streams, FaceTime over cellular.[6][7]

iOS Architecture

2.2 The iOS Architecture

The iOS architecture consists of a number of different layers. It comparable to the basic architecture in Mac OS X. At the general level, iOS is acting as an intermediary between an underlying hardware and the applications that appear on screen. It shows in Figure 1. [1][8][9]


Figure 1 iOS Architecture [8]

The apps you create seldom talk direct to the underlying hardware. Instead, the apps communicate with the hardware through the set of well-defined system interfaces which protect applications from changes in hardware. This abstraction makes it easier to write the applications that work consistently on devices with the different hardware capabilities. [1][9][1][10]

As mentioned previously, iOS consists of different layers, higher-level layers contain more technologies and sophisticated services; at the lower layers of the ios are the technologies on which all apps rely and the fundamental services. [1][10]

These IOS layers can be displayed diagrammatically as shown in the following figure:


Figure Layers of iOS[1]

While writing code, As much as possible, preferably use the top level, instead of lower-level. The higher level frameworks are providing object-oriented abstractions for lower level constructs. These abstractions generally make it much easier to write code because they minimize the amount of code you have to write and encapsulate potentially complex features, such as sockets and threads. They abstract out lower-level technologies, but they don't mask those technologies from you. The Lower-level frameworks remain available to developers who prefer to use or who want to use aspects of those frameworks that are not exposed by the High layers.

After we have identified the various layers that include iOS we can now look in more detail at the services provided by each layer and the corresponding frameworks that make those services available to us as applications developers.

2.2.1 Cocoa( [1] ) Touch Layer [1][9]

The Cocoa Touch is highest layer of the iOS stack and contains the key frameworks that are most commonly used by application developers. This layer defines the basic application infrastructure and support for key technologies such as touch-based input, push notifications, multitasking, and many high-level system services. The Cocoa Touch is primarily written in Objective-C, is based on the standard Mac OS X Cocoa API, and has been modified to meet the needs of the iDevices.

When designing your applications, you should investigate if in this layer comprise the technologies that they meet your needs. High-Level Features[1,11]

The following sections describe some of the frameworks in the Cocoa Touch layer and the services they present. Auto Layout[1,11]

the auto layout Introduced in iOS 6, the Cocoa Auto Layout system used to define layout constraints for user interface elements. Constraints represent relationships between user interface elements such as "this button should move with this split view subview." Or "these views line up head to tail." Multitasking[1,11]

In iOS 4, or later version when the user presses the Home button the applications not terminated; instead, they shift to a background execution context. This technology is (multitasking). The multitasking support defined by User Interface Kit (UIKit) helps your application transition to and from the background state smoothly. After applications entering the background most of them are suspended by the system shortly, to preserve battery life.

This behaviour allows an application to resume quickly when it is relaunched without consuming battery power in the meantime. External Display Support[1,11]

Introduced in iOS 3.2, external display support allows some iOS-based devices to be connected to an external display through a set of supported cables. Peer-to-Peer Services[1,11]

Introduced in iOS 3.0, the Game Kit framework provides peer-to-peer connectivity over Bluetooth. Printing [1, 11]

Introduced in iOS 4.2, the UIKit printing support allows applications to send content wirelessly to nearby printers. Cocoa Touch Frameworks[1,9,11]

The following sections describe some of the frameworks in the Cocoa Touch layer. Address Book UI Framework[1,9]

The Address Book UI-framework is a programming interface contacts (called address book), that you use to display standard interfaces for editing and for creating new contacts and selecting existing contacts. Event Kit UI Framework [1,9]

In iOS 4.0 introduced the Event Kit UI framework to allow the calendar activities to be accessing and editing from within an application. iAd Framework[1,9]

The iAd Framework is provide banner advertising to allow developers to include ad within their applications. All advertisements are provided by Apple's own iAd. UIKit Framework (UIKit.framework)[1][11]

UIKit is the framework with which you will find yourself use most often. The UIKit framework defines the core components of functions in an iOS application, from buttons and labels to table views and event-driven apps in iOS.

Some of the key features of UIKit framework are as follows:

User interface management

Application management

Graphics and windowing support

Printing support

Multitasking support;

copy, Cut, and paste support

Objects representing the standard system views and controls

Support for animating user-interface content

Support for text and web content

Accessibility support for disabled users

PDF creation

Local notification scheduling and delivery

Support for the Apple Push Notification Service

2.2.2 The iOS Media Layer [1,9,11]