Learning Center
Plans & pricing Sign in
Sign Out



									From Wikipedia, the free encyclopedia

iPhone OS

iPhone OS
iPhone OS

The iPhone OS or OS X iPhone is the operating system developed by Apple Inc. for the iPhone and iPod Touch.[1][2] Like Mac OS X, from which it was derived, it uses the Darwin foundation.[3] iPhone OS has four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The operating system takes less 240 Megabytes of the device’s total memory storage.[4] This operating system did not have an official name until the release of the first beta version of the iPhone SDK on March 6, 2008. Before then, Apple marketing literature simply stated that the "iPhone uses OS X," a reference to Apple’s desktop operating system, Mac OS X.[5] As of 19 April 2009 (2009 -04-19), there are over 25,000 applications officially available for the iPhone and Apple’s App Store has provided more than 1 billion downloads as of 23 April 2009.

User interface
iPhone OS version 2.2.1 Company / developer OS family Working state Source model Latest stable release Latest unstable release Supported platforms Kernel type Default user interface License Website Apple Inc. Mac OS X / Unix-like Current Closed source (with open source components) 2.2.1 (5H11) / 2009-1-27 3.0 Beta 5 / 2009-5-6

ARMv6 (iPhone and iPod Touch) Hybrid Cocoa Touch (Multi-touch, GUI) Proprietary EULA iPhone Dev Center

The iPhone OS’s user interface is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. The response to user input is supposed to be immediate to provide a fluid interface. Interaction with the OS includes gestures such as swiping, tapping, pinching, and reverse pinching. Additionally, using internal accelerometers, rotating the device on its yaxis alters the screen orientation in some applications. A home screen (rendered by "SpringBoard") with application icons, and a dock at the bottom of the screen, showing icons for the applications the user accesses the most, is presented when the device is turned on or whenever the home button is pressed. The screen has a status bar across the top to display data, such as time, battery level, and signal strength. The rest of the screen is devoted to the current application. There is no concept of starting or quitting applications, only opening an application from the home screen, and leaving the application


From Wikipedia, the free encyclopedia
to return to the home screen. It is possible to force an application to quit by holding down the home button, however. While some multitasking is permitted it is not obtrusive or obvious. Third-party apps are quit when left, but with the 3.0 software update, notifications will be able to be pushed from Apple’s servers to the iPhone or iPod Touch. Many of the included applications were designed to work together; allowing for the sharing or cross-propagation of data from one application to another (e.g., a phone number can be selected from an email and saved as a contact or dialed for a phone call.)

iPhone OS

Web applications
At the 2007 Apple Worldwide Developers Conference Apple announced that the iPhone and iPod Touch will support third-party "applications" via the Safari web browser, referred to as web applications. The applications can be created using web technologies such as AJAX.[9]

Unsupported third-party native applications
See also: List of iPhone OS Applications Currently, the iPhone and iPod Touch can only officially install full programs through the App Store.[10] However, from version 1.0 unauthorized third-party native applications are available.[11] Such applications face the possibility of being broken by any iPhone OS update, though Apple has stated it will not design software updates specifically to break native applications (other than applications that perform SIM unlocking).[12] The main distribution methods for these applications are the Installer and Cydia utilities, which can be installed on the iPhone after major methods of jailbreaking.

Application support
The central processing unit used in the iPhone and iPod Touch is an ARM-based processor instead of the x86 (and previous PowerPC or MC680x0) processors used in Apple’s Macintosh computers, and it uses OpenGL ES 1.1[6] rendering by the PowerVR 3D graphics hardware accelerator co-processor[7]. Mac OS X applications cannot be copied to and run on an iPhone OS device. They need to be written and compiled specifically for the iPhone OS and the ARM architecture. However, the Safari web browser supports "web applications," as noted below. Authorized third-party native applications are available for devices with iPhone OS 2.0 through Apple’s App Store.

iPhone SDK

Included applications
In version 2.2, the iPhone home screen contains these default applications: SMS (Text messaging), Calendar, Photos, Camera, YouTube, Stocks, Maps (Google Maps with Assisted GPS), Weather, Clock, Calculator, Notes, Settings, iTunes (with access to the iTunes Music Store and iTunes Podcast Directory), App Store and Contacts. Four other applications delineate the iPhone’s main purposes: Phone, Mail, Safari, and iPod.[8] The iPod Touch retains many of the same applications that are present by default on the iPhone, with the exception of the Phone, SMS, and Camera apps. The "iPod" App present on the iPhone is split into two apps on the iPod Touch: Music, and Videos. The bottom row of applications is also used to delineate the iPod Touch’s main purposes: Music, Videos, Photos, and iTunes.

iPhone SDK included in Xcode 3.1 final. On October 17, 2007, in an open letter posted to Apple’s "Hot News" weblog, Steve Jobs announced that a software development kit (SDK) would be made available to third-party developers in February 2008.[13] The SDK was released on March 6th, 2008, and allows developers to make applications for the iPhone and iPod Touch, as well as test them


From Wikipedia, the free encyclopedia
in an "iPhone simulator". However, loading an application onto the devices is only possible after paying an iPhone Developer Program fee. Since the release of Xcode 3.1, Xcode is the development environment for the iPhone SDK. Developers are able to set any price above a set minimum for their applications to be distributed through the App Store, of which they will receive a 70% share. Alternately, they may opt to release the application for free and need not pay any costs to release or distribute the application except for the membership fee.[14] Since its release, there has been some controversy regarding the small print of the Developer Agreement with Apple. Specifically regarding the refund policy in the small print. According to the agreement that developers must agree to, if someone purchases an app from the app store, 30% of the price goes to Apple, and 70% to the developer himself. However, if a refund is granted to the customer, at Apple’s discretion, then the 30% is given back to the customer from Apple, and 70% from the developer, however, Apple then take a futher 30% of the cost, from the developer to reimburse them for the loss. The 30% taken from developers could bankrupt them, depending on the amount of refunds granted. [15]

iPhone OS
• Multi-touch events and controls • Accelerometer support • View hierarchy • Localization (i18n) • Camera support • Media • OpenAL • audio mixing and recording • Video playback • Image file formats • Quartz • Core Animation • OpenGL ES • Core Services • Networking • Embedded SQLite database • GeoLocation • Threads • OS X Kernel • TCP/IP • Sockets • Power management • File system • Security Along with the Xcode toolchain, the SDK contains the iPhone Simulator, a program used to emulate the look and feel of the iPhone on the developer’s desktop. Originally called the Aspen Simulator, it was renamed with the Beta 2 release of the SDK. Note that the iPhone Simulator is not an emulator and runs code generated for an x86 target. The SDK requires an Intel Mac running Mac OS X Leopard. Other operating systems, including Microsoft Windows and older versions of Mac OS X, are not supported.

SDK history
See also: iPhone OS version history The iPhone SDK was officially announced on March 6, 2008, at an Apple Town Hall meeting.[16] The first Beta release of the SDK, with iPhone OS version 1.2b1 (build 5A147p), was made available immediately, while the launch of the App Store required a firmware update which was released on July 11, 2008. This update was free for iPhone users; however, the update costs $9.99 for iPod Touch owners. • 3.0 Final-Assumed Apple will tell people June 8-12 2009, at Worldwide Developer Conference

The SDK itself is a free download, but in order to release software, one must enroll in the iPhone Developer Program, a step requiring payment and Apple’s approval. As of March 2009, cost of enrollment in the iPhone development program is 99$US (this cost varies from country to country). Signed keys are given to upload the application to Apple’s App Store. Applications can be distributed in three ways: through the App Store, through enterprise deployment to a company’s employees only, and on an "Ad-hoc" basis to up to 100 iPhones. Once distributed through the App Store, a developer can request up to 50 promotional codes that can be used to freely distribute a commercial application he or she has developed.

SDK contents
As the iPhone is based on a variant of the same XNU kernel that is found in Mac OS X, the tool chain used for developing on the iPhone is also based on Xcode.[3] The SDK is broken down into the following sets:[35] • Cocoa Touch


From Wikipedia, the free encyclopedia
Date released OS SDK details version

iPhone OS

March 27, iPhone 2008 OS 2.0b2 Beta 2 April 8, 2008 iPhone OS 2.0b3 Beta 3 iPhone OS 2.0b4 Beta 4 iPhone OS 2.0b5 Beta 5 iPhone OS 2.0b6 Beta 6 iPhone OS 2.0b7 Beta 7 iPhone OS 2.0b8 Beta 8 iPhone OS 2.1 Beta 1 iPhone OS 2.1 Beta 2 iPhone OS 2.1 Beta 3

Release for iPhone OS version 2.0b2 (build 5A225c),[17] which added Interface Builder, an application for building graphical user interfaces for iPhone applications.[18] Release for iPhone OS version 2.0b3 (build 5A240d).[19]

April 23, 2008

Release for iPhone OS version 2.0b4 (build 5A258f). This version of the SDK supports OpenGL 3D graphics, primarily used to make games,[20] and indications that some applications will be allowed to run in the background (as the iPod, Phone, and Mail applications do), something that Apple had previously stated was not possible. Release for iPhone OS version 2.0b5 (build 5A274d).[21]

May 6, 2008

May 29, 2008

Release for iPhone OS version 2.0b6 (build 5A292g). The code in this update gave hints about updates to Apple’s .Mac[22] service and also gave a first reference to the upcoming version of Mac OS X, version 10.6 Snow Leopard.[23] Release for iPhone OS version 2.0b7 (build 5A331), which unlocked Apple’s .Mac replacement, MobileMe. This release was for WWDC, Apple’s developer’s conference, which is noted as part of the name of the iPhone OS beta download. Release for iPhone OS version 2.0b8 (build 5A345).[24]

June 9, 2008

June 26, 2008

July 24, 2008 July 30, 2008 August 8, 2008

Release for iPhone OS version 2.1 (build 5F90).[25] Apple notes that applications built using the 2.1 SDK will not run on the iPhone 2.0 software, and will not yet be accepted into the App Store. Release for iPhone OS version 2.1.[26]

Release for iPhone OS version 2.1.[27]

September iPhone 25, 2008 OS 2.2 Beta 1 November iPhone 20, 2008 OS 2.2 January 27, 2009 iPhone OS 2.2.1

Release for iPhone OS version 2.2 (Build 5G29).[28]

Release for iPhone OS version 2.2 (build 9M2621). Release for iPhone OS version 2.2.1 (build 9M2621a).[29]


From Wikipedia, the free encyclopedia
March 17, iPhone 2009 OS 3.0 Beta 1 March 31, iPhone 2009 OS 3.0 Beta 2 April 14, 2009 April 28, 2009 May 6, 2009 iPhone OS 3.0 Beta 3 iPhone OS 3.0 Beta 4 iPhone OS 3.0 Beta 5

iPhone OS

Preview of iPhone OS version 3.0 and SDK 3.0 beta release. [30]

Release for iPhone OS version 3.0.[31]

Release for iPhone OS version 3.0.[32]

Release for iPhone OS version 3.0.[33]

Release for iPhone OS version 3.0.[34]

This distribution model for iPhone software appears to make it impossible to release software based upon code licensed with GPLv3. Any code that modifies code licensed under GPLv3 must also be licensed as GPLv3. Also, a developer is not able to distribute an application licensed under the GPLv3 without also distributing the signing keys (which Apple owns) to allow upload of modified versions of that software to be run.[36]

party application (Safari with JVM, for example), it could hinder development of the JVM without Apple’s cooperation[40]. It is clear that Java running on the iPhone is outside the bounds of the iPhone SDK Agreement. The guideline in question is rule 3.3.2, which reads: 3.3.2 — An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and built-in interpreter(s). However, some iPhone users have shown that it was possible to install and use a J2ME stack on a iPhone, though it involved jailbreaking[41][42]. It has also been revealed that there were talks between Sun and Apple concerning the availability of Java on the iPhone, and that Sun was working in that intent with a company called Innaworks[43][44]. Curiously, the ARM processor used in the iPhone includes an environment for accelerated Java execution built into the hardware[45].

Core Location
Core Location is a software framework in Mac OS X. It is primarily used by applications on the iPhone OS 2.0 for detection of the device’s location. It was announced as part of the iPhone Software Roadmap event on March 6, 2008,[37] and was made available as part of the iPhone SDK.

Apple has not announced any plans to enable Java to run on the iPhone. Sun Microsystems announced plans to release a Java Virtual Machine (JVM) for iPhone OS, based on the Java Platform, Micro Edition version of Java. This would enable Java applications to run on iPhone and iPod Touch.[38] Soon after the announcement, developers familiar with the SDK’s terms of agreement believed that by not allowing 3rd-party applications to run in the background (answer a phone call and still run the application, for example),[39] allowing an application to download code from another source, or allowing an application to interact with a 3rd-

The iPhone OS does not support Flash. Adobe has announced plans to release a version of its Flash Lite software as a third-party application for the iPhone, though it has not yet


From Wikipedia, the free encyclopedia
launched. Furthermore, Flash Lite supports only a subset of the features of standard Flash. Unofficially, Flash videos can be viewed by using a jailbroken iPhone with certain third-party applications such as MobileCinema.

iPhone OS
The other major focus of jailbreaking since 2.0 has been to reverse the SIM Lock that is forced onto most iPhones. The first generation iPhone can be fully unlocked with the iPhone Dev Team’s BootNeuter application, and the iPhone 3G can be unlocked with a new beta effort dubbed "yellowsn0w"[47] and quickPWN 2.2.1. More recently, many efforts have been focused on broadening the Bluetooth capabilites of the iPhone. However, many of the efforts stopped due to the preview of the iPhone 3.0 OS on March 17, 2009, which included among other features, enhanced Bluetooth capabilities.

Mobile Safari supports SVG starting with the iPhone firmware 2.1. The SVG support features scripting and most of the static parts of the SVG 1.1. specification. SMIL animation is not yet supported for SVG graphics. It will be delivered after the Webkit SMIL implementation is mature enough. In addition to SVG, the HTML Canvas is supported.

Hacking and jailbreaking
The iPhone OS has been subject to a variety of different hacks for a variety of reasons, centered around adding functionality not supported by Apple. With the advent of iPhone OS 2.0, the focus of the jailbreaking community has shifted somewhat. Prior to iPhone 2.0’s release, jailbreaking was the only way to allow thirdparty applications on the device. Now with iPhone 2.0, native applications are allowed under certain rules imposed by Apple. This has lead to the jailbreaking community focusing on providing functionality disallowed on the device, under Apple’s SDK terms. These functions include background applications, or the ability for third-party applications to run after appearing to have closed, and the ability to alter the applications written for the device by Apple. Some began attempts to disable Apple’s kill switch[46], although these efforts were largely abandoned once the kill switch was proven to only disable Core Location. There has been a notable shift away from jailbreaking with the new App Store’s debut, in most part due to users’ acceptance of Apple’s compromise on opening up the platform, although there has still been substantial interest from the jailbreaking community, especially with the release of Pwnage Tool from the "iPhone Dev Team" which was released soon after firmware 2.0 for the iPod Touch and iPhone. Some jailbreakers also attempt to pirate paid App Store applications; this new focus has caused some strife within the jailbreaking community.

Firmware version history
See also: iPhone OS version history The version history of iPhone OS spans from its release on June 29, 2007 to the present day.

[1] Apple Inc. (March 6, 2008). "Apple Announces iPhone 2.0 Software Beta". Apple Inc.. 03/06iphone.html. Retrieved on 2008-03-07. [2] Apple Developer Connection (February 29, 2008). "iPhone Human Interface Guidelines: Introduction". Apple Inc.. iphone/library/documentation/ UserExperience/Conceptual/MobileHIG/ Introduction/chapter_1_section_1.html. Retrieved on 2008-03-07. [3] ^ Gary, Benson (2008-03-07). "iPhone SDK - Overview (the SDK, not the Event)". 2008/03/07/iphone-sdk-overview/. Retrieved on 2008-03-10. [4] Haslam, Karen (January 12, 2007). "Macworld Expo: Optimised OS X sits on ’versatile’ flash". Macworld. news/index.cfm?newsid=16927. Retrieved on 2007-10-15. [5] iPhone - Features - OS X - Apple Inc., Archived version from 2007-10-06 [6] Dr. Dobb’s. "OpenGL and Mobile Devices: Round 2 (OpenGL ES for the iPhone and iPod Touch)".


From Wikipedia, the free encyclopedia
[7] iPhone Dev Center [8] Apple Inc. (2008-07-10). "iPhone Applications". article.html?artnum=306003. Retrieved on 2008-07-11. [9] Ziegler, Chris. Apple announces thirdparty software details for iPhone, Engadget, (2007-06-11). Retrieved on 2007-06-20. [10] Baig, Edward C. Apple’s iPhone isn’t perfect, but it’s worthy of the hype, USA Today, (2007-06-26). Retrieved on 2007-06-28. [11] Healey, Jon (2007-08-06). "Hacking the iPhone". Los Angeles Times.,0,3456267.story. Retrieved on 2007-08-06. [12] Apple’s Joswiak: We Don’t Hate iPhone Coders [13] Jobs, Steve (2007-10-17). "Third Party Applications on the iPhone". Apple Inc.. devcenter/third_party_apps.php. [14] "Introducing the iPhone Developer Program". Apple Inc.. program/details.html. [15] "iPhone developers could be bankrupted". apples-iphone-app-refund-policies-couldbankrupt-developers/. [16] Block, Ryan (2008-03-06). "Live from Apple’s iPhone SDK press conference". Engadget. Weblogs, Inc.. live-from-apples-iphone-pressconference/. Retrieved on 2008-12-12. [17] Dan, Moren (2008-03-27). "iPhone SDK: now with 100% more Interface Builder". Macworld. 2008/03/ iphone_sdk_now_with_100_more_i.php. Retrieved on 2008-03-27. [18] "Interface Builder". Apple Inc.. interfacebuilder.html. Retrieved on 2008-03-27. [19] Apple Seeds New iPhone OS 2.0 Beta (5A240d), SDK Update (Beta 3) MacRumors 2008-04-08. [20] iPhone SDK Beta 4 Now Available, Comes with OpenGL ES 3D Graphics Support - Gizmodo.

iPhone OS
[21] iPhone SDK Beta 5 Now Up: Bug Fixes, Updated OS Support - Gizmodo. [22] MacRumors - Apple’s .Mac Service to be Renamed, Revamped? - MacRumors 2008-05-30. [23] Mac OS 10.6 reference in iPhone SDK beta 6 - MacRumors 2008-05-29. [24] Apple Inc. (June 26, 2008). "iPhone SDK beta release 8 - Download Notes". Apple Inc.. iphone_sdk__beta_8__9m2199/ iphone_sdk_beta8_readme.pdf. Retrieved on 2008-06-27. [25] "iPhone SDK 2.1 beta release 1 released". Gearlive. July 25, 2008. article/q208-apple-beta-testingiphone-21-firmware/. Retrieved on 2008-07-25. [26] MacRumors (July 30, 2008). "Apple Seeds 2nd Beta of iPhone 2.1 Firmware to Developers". apple-seeds-2nd-beta-ofiphone-2-1-firmware-to-developers/. [27] MacRumors (August 8, 2008). "Apple Releases iPhone Firmware 2.1 Beta 3". 2008/08/08/apple-releases-iphonefirmware-2-1-beta-3/. [28] The iPhone - iPhone OS 2.2 Developers beta released [29] iPhone DevCenter [30] [31] Martin, David (2009-04-01). "Apple releases iPhone OS 3 beta 2 to developers". CNET Reviews. 8301-19512_7-10209154-233.html. Retrieved on 2009-04-03. [32] Ziegler,Chris (2009-04-15). "iPhone OS 3.0 beta 3 goes live". engadget. iphone-os-3-0-beta-3-goes-live/. Retrieved on 2009-04-15. [33] Miller,Ross (2009-04-28). "iPhone OS 3.0 beta 4, iTunes 8.2 pre-release now live". engadget. 2009/04/28/iphoneos-3-0-beta-4-itunes-8-2-pre-release-nowlive/. Retrieved on 2009-04-28. [34] Miller,Ross (2009-05-06). "iPhone OS 3.0 beta 5 now available". engadget.


From Wikipedia, the free encyclopedia
iphone-os-3-0-beta-5-now-available/. Retrieved on 2009-05-06. [35] Arnold, Kim (2008-03-06). "Apple Releases iPhone SDK, Demos Spore, Instant Messaging". apple-releases-iphone-sdk-demos-sporeinstant-messaging/. Retrieved on 2008-03-10. [36] Willis, Nathan (2008-04-15). "The iPhone SDK and free software: not a match". feature/131752. Retrieved on 2008-06-05. [37] 132400/2008/03/iphonesdk.html [38] Krill, Paul (2008-03-08). "Sun: We’ll put Java on the iPhone". Infoworld. 07/sun-iphone-java_1.html. Retrieved on 2008-03-08. [39] Krazit, Tom (2008-03-07). "The iPhone SDK: The day after". CNet. 8301-13579_3-9888722-37.html. Retrieved on 2008-03-29. [40] Krill, Paul (2008-03-14). "Sun’s plan for Java on iPhone could hit roadblock". The Industry Standard. 03/14/suns-plan-java-iphone-could-hitroadblock. Retrieved on 2008-03-29. [41] Guisi, Bruno (2008-05-25). "First steps with iPhone and Java". archive/2008/05/java_on_iphone.html. Retrieved on 2008-08-31. [42] Chakraborty, Angsuman (2008-06-10). "How To Install, Compile, Run Java On iPhone".

iPhone OS
index.php/archive/how-to-install-compilerun-java-on-iphone/. Retrieved on 2008-08-31. [43] Kizito Kasozi, Emmanuel (2008-04-28). "Apple, Sun Talks Gives Hope for Java on iPhone". 20080428/apple-sun-java-iphone.htm. Retrieved on 2008-08-31. [44] "Innaworks announces Java Development Solution for iPhone". Innaworks. 2008-03-28. News.html#NewsAlcheMoForIPhoneBeta. Retrieved on 2008-08-31. [45] Ryan, Block (2007-07-01). "iPhone processor found: 620MHz ARM CPU.". iphone-processor-found-620mhz-arm/. Retrieved on 2009-01-02. [46] Apple iPhone ’kill switch’ discovered Telegraph [47] Don’t eat yellowsn0w!

See also
• • • • • iPhone iPod Touch Mac OS X Mac OS Apple Newton OS

External links
• iPhone Dev Center - on the Apple Developer Connection website • iPhone OS Overview from Apple Inc. (requires developer registration)

Retrieved from "" Categories: IPhone OS, Mach, Multi-touch, Smartphones, Microkernel-based operating systems, Unix variants This page was last modified on 19 May 2009, at 21:32 (UTC). All text is available under the terms of the GNU Free Documentation License. (See Copyrights for details.) Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a U.S. registered 501(c)(3) taxdeductible nonprofit charity. Privacy policy About Wikipedia Disclaimers


To top