weaverchurchSoftware and s/w Development

Aug 15, 2012 (4 years and 10 months ago)


Lab Section: L05

Team beatRunner


Dr. Koblasz & Dr. James

The iPhone Operating System (iOS) for Developers

By: Lakshmi Baddam


The recent development in mobile technologies has incr
eased the demand for sophisticated
software applications for mobile devices [3].

However, the device market is crowded with a number of
different technology platforms, including different operating systems (OS) and software development
platforms resulting
in a variety of different competing solutions for creating mobile applications [1].

iPhone OS (iOS) by Apple has become a popular development platform for developers. This paper
reviews how developers can create apps in iOS, explains Apple’s softwa
re development kit (SDK) for
developers and describes how a developer can access iOS’s SDK.

Commercial Applications of iOS

iOS is known for its innovative features and made up 16% of the market share in smartphone
sales in the fourth quarter of 2010 [5].
Except for some open source components, its source code is not
available to developers and is licensed under the Proprietary EULA license. Also, the iOS platform is
tied to specific hardware and does not offer drivers for many of the common hardware compo
nents on the
mobile phone [2]. Apple has created a market place, ‘App Store’ where app developers can sell their
applications directly to customers. Apps must be submitted for a review before being published in the
‘App Store’ and must be the fully funct
ional, and they may not be trials, demos or beta versions [6]. iOS
based applications are written in Objective
C and are created in the Xcode integrated development
environment (IDE) [4]. Since the license for Xcode is proprietary, developers are restri
cted to use
Apple’s native development environment and cannot use other commercially open and generic
development platforms such as Eclipse and NetBeans [2].

Technology of iOS App Development


The iOS SDK for developers contains tools needed to des
ign, create, debug and optimize
software for iOS. Apple provides frameworks or directories that contain a dynamically shared library and
the resources (such as header files and images) needed to support the library [4]. A developer may use
these framewor
ks by linking them to his/her app project. In addition, the iOS SDK comes with three
Xcode tools that support app development [4]. Tool one is an integrated development environment
(IDE), Xcode which manages app projects and allows the developers to edit
, compile, run, and debug
code. The Interface Builder tool allows developers to assemble their user interface (UI) visually. The
tool saves the interface objects created by the developers (such as switches, text fields, and buttons) into a
nib file (reso
urce file) and loads them into the app at runtime. Another tool is Instruments which is a
runtime performance analysis and debugging tool that helps developers gather information about an app’s
runtime behavior [4]. Another component of the SDK is the iP
hone Simulator which allows developers
to run apps in the same way as in an actual iPhone device [4]. It serves as a test bed for developers to
ensure that the app’s UI works the way initially intended. Another helpful resource provided by the SDK
is the

iOS Developer Library. It is a reference and conceptual documentation which informs developers
of iOS technologies and the app development process. It contains articles, coding How
Tos, guides,
sample code, technical notes and videos to help developers
build apps [4].

Technology Layers

iOS provides four layers of services to developers [4]. The Core OS layer and Core Services layer
are C
based and contain low
level features and fundamental interfaces used for accessing files, low
data types, Bonjou
r services, and network sockets. The Media Layer consists of graphics, audio, and
video technology to aid developers in integrating rich multimedia in their apps. The Cocoa Touch Layer
is where every developer begins when creating an app. It defines th
e fundamental app infrastructure and
support for technologies such as multitasking, gesture recognition, and push notifications.

Implementation and Access to the iOS SDK

In order to download the iOS SDK for free, developers are required to register as
an iOS
developer and own an Intel
based Macintosh computer. The free option does not allow developers to
download their apps onto a mobile device nor distribute them on ‘App Store’. In order to get access to
these features, developers must pay $99/year [
1]. Apple also offers an Enterprise program for developers
costing $299/year [1]. It is designed for companies developing proprietary iOS apps with more than one
developer working on the project. In addition, if a developer chooses to sell his/her app i
n the App Store,
he/she and Apple get 70% and 30% of the revenue share respectively [5].



D. Mark, J. Nutting, and J. LaMarche,
Beginning iPhone 4 Development
. New York, NY:
Apress, 2008.


Hammershoj, A.; Sapuppo, A
.; Tadayoni, R.; , "Challenges for mobile application
Intelligence in Next Generation Networks (ICIN), 2010 14th International
Conference on

, vol., no., pp.1
8, 11
14 Oct. 2010. doi: 10.1109/ICIN.2010.5640893.


Gasimov, A.; Chuan
Hoo Tan;

Chee Wei Phang; Sutanto, J.; , "Visiting Mobile Application
Development: What, How and Where,"
Mobile Business and 2010 Ninth Global Mobility
Roundtable (ICMB
GMR), 2010 Ninth International Conference on

, vol., no., pp.74
81, 13
15 June 2010. doi: 10.110


Apple Inc., “Library,” [Online]. Available:
. [Accessed:
Feb 05, 2011].


Canalys, “Google’s Android Becomes the World’s Leading Smartphone Platform”.
[Online]. Available:
. [Accessed: Feb 04,


R. Adhikari, “Apple to Devs: No Half
Baked Goods in the Mac App Store,”
., 2010.

Read more: