iOS
File:Iphone front.png iPhone OS 1.1.4 on an iPhone | |
Developer | Apple Inc. |
---|---|
OS family | Unix |
Working state | Current |
Source model | Closed source (with open source components) |
Latest release | 1.1.4 / February 26 2008 |
Latest preview | 18.3 beta[1] (December 16, 2024 ) [±] |
Platforms | ARM (iPhone and iPod touch) |
Kernel type | Hybrid |
Default user interface | Cocoa Touch (Multi-touch, GUI) |
License | Proprietary EULA |
Official website | iPhone Dev Center |
iPhone OS is the operating system developed by Apple Inc. for the iPhone and iPod touch.[2][3] It is derived from Mac OS X, and is based on the same Mach kernel and Darwin core as Mac OS X.[4] 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.[5]
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", an ambiguous reference to iPhone OS's parent, Mac OS X.[6]
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 in June of 2008.
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.[7] iTunes runs on modern versions of Mac OS X, Windows XP, and Windows Vista.[5]
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.
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.[8]
In version 1.1.4, the iPod touch home screen applications include: Music, Videos, Photos, iTunes, Safari, YouTube, Mail, Maps, and Widgets.[9]
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 AJAX.[10] Many third party iPhone web applications are now available.[11]
Unsupported third party native applications
Currently, the iPhone and iPod touch cannot officially install full programs from anyone but Apple.[12] However, many third party native applications are now available,[13] 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).[14] 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.
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.[15] 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 Apple Developer Connection membership 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 beyond for the US$99 membership fee.[16]
SDK history
The iPhone SDK was officially announced on March 6, 2008, at an Apple Town Hall meeting.[17]
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 for iPod touch owners. On March 27 2008, Apple released the Beta 2 release of the SDK,[18] which added Interface Builder, an application for building graphical user interfaces for iPhone applications.[19]
On April 8 2008, Apple released the Beta 3 update to the SDK.[20]
On April 23 2008, Apple released the Beta 4 update to the SDK. This version of the SDK supports OpenGL 3D graphics, primarily used to make games[21], 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.[22]
SDK contents
As the iPhone is based on a variant of the same Mach kernel that is found in Mac OS X, the tool chain used for developing on the iPhone is also based on Xcode.[4]
The SDK is broken down into the following sets:[23]
- Cocoa Touch
- 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 an iPhone emulator called Aspen. Aspen Simulator was renamed to iPhone Simulator with the Beta 2 release of the SDK.
The SDK works on both Intel and PowerPC Macs running Mac OS X Leopard. However only Intel Macs are officially supported by Apple as of the current release (beta 4).
Licensing
Since the Beta release, criticism has been raised regarding the SDK licensing model. The licensing conditions appear to make it impossible to release open-source software, especially with viral licenses like GPLv3. The conditions imposed by Apple are a form of Tivoization: The SDK itself is a free download, but in order to release software, one must enroll in the iPhone Developer Program -- a step requiring Apple's approval.[24]
Other incompatibilities include:
- Distribution of iPhone applications require code signing, which is only available through the iTunes App Store and requires approval from Apple.
- Downloading the SDK requires signing a non-disclosure agreement.
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]
References
- ^ Clover, Juli (December 16, 2024). "Apple Releases First Betas of iOS 18.3 and iPadOS 18.3". MacRumors. Retrieved December 18, 2024.
- ^ Apple Inc. (March 6, 2008). "Apple Announces iPhone 2.0 Software Beta". Apple.com. Apple Inc. Retrieved 2008-03-07.
{{cite web}}
: Check date values in:|date=
(help) - ^ Apple Developer Connection (February 29, 2008). "iPhone Human Interface Guidelines: Introduction". Apple.com. Apple Inc. Retrieved 2008-03-07.
{{cite web}}
: Check date values in:|date=
(help) - ^ a b Gary, Benson (2008-03-07). "iPhone SDK - Overview (the SDK, not the Event)". Retrieved 2008-03-10.
- ^ a b Haslam, Karen (January 12, 2007). "Macworld Expo: Optimised OS X sits on 'versatile' flash". Macworld. Retrieved 2007-10-15.
{{cite web}}
: Check date values in:|date=
(help); Italic or bold markup not allowed in:|publisher=
(help) - ^ iPhone - Features - OS X - Apple Inc.
- ^ Kharif, Olga. Coming Soon: iPhone Software Updates, BusinessWeek, (2007-07-10)Template:Accessdate
- ^ Apple Inc. (2007-07-11). "iPhone Applications". Retrieved 2007-11-04.
- ^ iPod touch - FeaturesTemplate:Accessdate
- ^ Ziegler, Chris. Apple announces third-party software details for iPhone, Engadget, (2007-06-11)Template:Accessdate
- ^ Web Apps - Apple Inc.
- ^ Baig, Edward C. Apple's iPhone isn't perfect, but it's worthy of the hype, USA Today, (2007-06-26)Template:Accessdate
- ^ Healey, Jon (2007-08-06). "Hacking the iPhone". Los Angeles Times. Retrieved 2007-08-06.
{{cite news}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ Apple's Joswiak: We Don't Hate iPhone Coders
- ^ Jobs, Steve (2007-10-17). "Third Party Applications on the iPhone". Apple Inc.
- ^ "Introducing the iPhone Developer Program". Apple Inc.
- ^ Live from Apple's iPhone SDK press conference - Engadget
- ^ Dan, Moren (2008-03-27). "iPhone SDK: now with 100% more Interface Builder". Macworld. Retrieved 2008-03-27.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ "Interface Builder". Apple Inc. Retrieved 2008-03-27.
- ^ Apple Seeds New iPhone OS 2.0 Beta (5A240d), SDK Update (Beta 3)
- ^ iPhone SDK Beta 4 Now Available, Comes with OpenGL ES 3D Graphics Support
- ^ iPhone SDK Beta 5 Now Up: Bug Fixes, Updated OS Support
- ^ Arnold, Kim (2008-03-06). "Apple Releases iPhone SDK, Demos Spore, Instant Messaging". MacRumors.com. Retrieved 2008-03-10.
- ^ Willis, Nathan (2008-04-15). "The iPhone SDK and free software: not a match". Linux.com. Retrieved 2008-04-19.
- ^ Krill, Paul (2008-03-08). "Sun: We'll put Java on the iPhone". Infoworld. Retrieved 2008-03-08.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ Krazit, Tom (2008-03-07). "The iPhone SDK: The day after". CNet. Retrieved 2008-03-29.
- ^ Krill, Paul (2008-03-14). "Sun's plan for Java on iPhone could hit roadblock". The Standard. Retrieved 2008-03-29.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help)
External links
- iPhone Dev Center - on the Apple Developer Connection website
- iPhone OS Overview from Apple Inc. (requires developer registration)