iPhone OS

From Wikipedia, the free encyclopedia

iPhone OS

iPhone OS version 1.1.4 on an iPhone
Website iPhone Dev Center
Company/
developer
Apple Inc.
OS family Unix
Source model Closed source (with open source components)
Latest stable release 1.1.4 / February 26, 2008
Supported platforms ARM (iPhone and iPod touch)
Kernel type Hybrid
Default user interface Cocoa Touch (Multi-touch, GUI)
License Proprietary EULA
Working state Current
List of Mobile
Operating Systems
Symbian OS m n s
Windows Mobile m n
iPhone OS n
Palm OS n
Openmoko Linux l n
Access Linux Platform l n s
Qtopia l m n
Internet Tablet OS l n
BlackBerry OS m
Android l m
LiMo Platform l m n

l = Linux based
m = Managed code support
n = Native code permitted
s = Capability-based security


This box: view  talk  edit

iPhone OS 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 three abstraction layers: a Core Services layer, a Media layer, and a Cocoa Touch layer. The operating system takes less than half a gigabyte (GB) of the devices' total memory storage.[4]

This operating system did not have an official name until the release of the iPhone SDK on March 6, 2008. Before then, Apple marketing literature simply stated that the "iPhone runs OS X", a reference to iPhone OS's parent, Mac OS X.[5]

Contents

[edit] User interface

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, and pinching. Additionally, turning the device alters orientation in some applications.

A home screen with application icons 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 vital 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 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. Many of the included applications work together seamlessly, to allow emailing a link or picture, or calling a number or looking up an address in Maps.

[edit] Application support

The central processing unit used in the iPhone and iPod touch is an ARM-based processor instead of the x86 (and previously PowerPC) processors used in Apple's Macintosh computers. 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.

[edit] Included applications

In version 1.1.4, the iPhone home screen contains these default applications: Text (SMS messaging), Calendar, Photos, Camera, YouTube, Stocks, Maps (Google Maps), Weather, Clock, Calculator, Notes, Settings, and iTunes (with access to the iTunes Wi-Fi Music Store). Four other applications delineate the iPhone's main purposes: Phone, Mail, Safari, and iPod.[6]

[edit] 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.[7] Many third party iPhone web applications are now available.[8]

[edit] Unsupported third party native applications

Currently, the iPhone and iPod touch cannot officially install full programs from anyone but Apple.[9] However, many third party native applications are now available,[10] despite this complete lack of support by Apple. Such native 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).[11] These are available through the installer application, which is installed on the iPhone after major methods of jailbreaking. Some well known members of the 3rd party app community have switched over to the official SDK.

[edit] Version history

The latest released version of iPhone OS is 1.1.4. Version 2 Beta was released to a limited group of developers in March, and is slated to be made public on July 11 of 2008 to 70 countries.

iTunes is used to manage many of the functions of the iPhone and iPod touch, including updates to iPhone OS. Security patches, as well as new and improved features, are released in this fashion.[12] iTunes runs on modern versions of Mac OS X, Windows XP, and Windows Vista.[4]

[edit] iPhone SDK

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 in March, and allows developers to make applications for the iPhone and iPod touch, as well as test them in an "iPhone simulator". However, loading an application onto the devices is only possible after paying a US$99 iPhone Developer Program fee.

Developers are free to set any price for their applications to be distributed through the App Store, of which they will receive a 70% share. Developers can also opt to release the application for free and will not pay any costs to release or distribute the application except for the US$99 membership fee.[14]

[edit] SDK history

The iPhone SDK was officially announced on March 6, 2008, at an Apple Town Hall meeting.[15] The first Beta release of the SDK was made available immediately, while the launch of applications will require waiting until a firmware update in June, 2008. This update will be free for iPhone users, however, there will be a charge ($9.95 US) for iPod touch owners.

On March 27, 2008, Apple released the Beta 2 release of the SDK, build 9A2151 with iPhone OS version 2.0b2 (build 5A225c)[16] which added Interface Builder, an application for building graphical user interfaces for iPhone applications.[17]

On April 8, 2008, Apple released the Beta 3 update to the SDK, build 9M2158a with iPhone OS version 2.0b3 (build 5A240d).[18]

On April 23, 2008, Apple released the Beta 4 update to the SDK, build 9M2165 with iPhone OS version 2.0b4 (build 5A258f). This version of the SDK supports OpenGL 3D graphics, primarily used to make games[19], 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.

On May 6, 2008, Apple released the Beta 5 update to the SDK, build 9M2173a with iPhone OS version 2.0b5 (build 5A274d).[20]

On May 29, 2008, Apple released the Beta 6 update to the SDK, build 9M2192 with iPhone OS version 2.0b6 (build 5A292g). The code in this update gave hints about updates to Apple's .Mac[21] service and also gave a first indication of anything related to the upcoming version of Mac OS X, version 10.6.[22]

On June 9, 2008, Apple released the Beta 7 update to the SDK, build 9M2199 with iPhone OS version 2.0b7 (build 5A331). This release is for WWDC, Apple's developer's conference, and this is noted as part of the name of the iPhone OS beta download. This unlocked Apple's .Mac replacement, MobileMe.

[edit] 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:[23]

Along with the Xcode toolchain, the SDK contains an iPhone emulator called Aspen. Aspen Simulator was renamed to iPhone Simulator with the Beta 2 release of the SDK.

As of the current release (beta 7), the SDK requires an Intel Mac running Mac OS X Leopard.

[edit] Licensing

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 (USD $99) and Apple's approval.

Signed keys are given to upload the application to Apple's App Store which is the sole method of distributing the software to an iPhone.

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.[24]

[edit] Java

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.[25] If successful, Sun plans to release the software some time after June 2008.

Soon after the announcement, developers familiar with the SDK's terms of agreement believe that by not allowing 3rd-party applications to run in the background (answer a phone call and still run the application, for example),[26] allowing an application to download code from another source, or allowing an application to interact with a 3rd-party application (Safari with JVM, for example), it could hinder development of the JVM without Apple's cooperation.[27]

[edit] References

  1. ^ Apple Inc. (March 6, 2008). Apple Announces iPhone 2.0 Software Beta. Apple.com. Apple Inc.. Retrieved on 2008-03-07.
  2. ^ Apple Developer Connection (February 29, 2008). iPhone Human Interface Guidelines: Introduction. Apple.com. Apple Inc.. Retrieved on 2008-03-07.
  3. ^ a b Gary, Benson (2008-03-07). iPhone SDK - Overview (the SDK, not the Event). Retrieved on 2008-03-10.
  4. ^ a b Haslam, Karen (January 12, 2007). Macworld Expo: Optimised OS X sits on 'versatile' flash. Macworld. Retrieved on 2007-10-15.
  5. ^ iPhone - Features - OS X - Apple Inc.
  6. ^ Apple Inc. (2007-07-11). iPhone Applications. Retrieved on 2007-11-04.
  7. ^ Ziegler, Chris. Apple announces third-party software details for iPhone, Engadget, (2007-06-11). Retrieved on 2007-06-20.
  8. ^ Web Apps - Apple Inc.
  9. ^ 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.
  10. ^ Healey, Jon. "Hacking the iPhone", Los Angeles Times, 2007-08-06. Retrieved on 2007-08-06. 
  11. ^ Apple's Joswiak: We Don't Hate iPhone Coders
  12. ^ Kharif, Olga. Coming Soon: iPhone Software Updates, BusinessWeek, (2007-07-10). Retrieved on 2007-07-24.
  13. ^ Jobs, Steve (2007-10-17). Third Party Applications on the iPhone. Apple Inc..
  14. ^ Introducing the iPhone Developer Program. Apple Inc..
  15. ^ Live from Apple's iPhone SDK press conference - Engadget
  16. ^ Dan, Moren (2008-03-27). iPhone SDK: now with 100% more Interface Builder. Macworld. Retrieved on 2008-03-27.
  17. ^ Interface Builder. Apple Inc.. Retrieved on 2008-03-27.
  18. ^ Apple Seeds New iPhone OS 2.0 Beta (5A240d), SDK Update (Beta 3)
  19. ^ iPhone SDK Beta 4 Now Available, Comes with OpenGL ES 3D Graphics Support
  20. ^ iPhone SDK Beta 5 Now Up: Bug Fixes, Updated OS Support
  21. ^ MacRumors - Apple's .Mac Service to be Renamed, Revamped?
  22. ^ Mac OS 10.6 reference in iPhone SDK beta 6
  23. ^ Arnold, Kim (2008-03-06). Apple Releases iPhone SDK, Demos Spore, Instant Messaging. MacRumors.com. Retrieved on 2008-03-10.
  24. ^ Willis, Nathan (2008-04-15). The iPhone SDK and free software: not a match. Linux.com. Retrieved on 2008-06-05.
  25. ^ Krill, Paul (2008-03-08). Sun: We'll put Java on the iPhone. Infoworld. Retrieved on 2008-03-08.
  26. ^ Krazit, Tom (2008-03-07). The iPhone SDK: The day after. CNet. Retrieved on 2008-03-29.
  27. ^ Krill, Paul (2008-03-14). Sun's plan for Java on iPhone could hit roadblock. The Standard. Retrieved on 2008-03-29.

[edit] External links