IOS: Difference between revisions
Tide rolls (talk | contribs) |
Tag: blanking |
||
Line 46: | Line 46: | ||
Currently, the iPhone and iPod Touch can only officially install full programs through the App Store.<ref>Baig, Edward C. [http://www.usatoday.com/tech/columnist/edwardbaig/2007-06-26-iphone-review_N.htm Apple's iPhone isn't perfect, but it's worthy of the hype], ''[[USA Today]]'', ([[2007-06-26]]){{accessdate|2007-06-28}}</ref> However, from version 1.0 unauthorized third-party native applications are available.<ref>{{cite news|last=Healey|first=Jon|title=Hacking the iPhone|publisher=''[[Los Angeles Times]]''|date=2007-08-06|url=http://www.latimes.com/news/opinion/la-oew-healey6aug06,0,3456267.story|accessdate=2007-08-06}}</ref> 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 lock|SIM unlocking]]).<ref>[http://www.gearlog.com/2007/09/apples_joswiak_we_dont_hate_ip.php Apple's Joswiak: We Don't Hate iPhone Coders]</ref> 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. |
Currently, the iPhone and iPod Touch can only officially install full programs through the App Store.<ref>Baig, Edward C. [http://www.usatoday.com/tech/columnist/edwardbaig/2007-06-26-iphone-review_N.htm Apple's iPhone isn't perfect, but it's worthy of the hype], ''[[USA Today]]'', ([[2007-06-26]]){{accessdate|2007-06-28}}</ref> However, from version 1.0 unauthorized third-party native applications are available.<ref>{{cite news|last=Healey|first=Jon|title=Hacking the iPhone|publisher=''[[Los Angeles Times]]''|date=2007-08-06|url=http://www.latimes.com/news/opinion/la-oew-healey6aug06,0,3456267.story|accessdate=2007-08-06}}</ref> 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 lock|SIM unlocking]]).<ref>[http://www.gearlog.com/2007/09/apples_joswiak_we_dont_hate_ip.php Apple's Joswiak: We Don't Hate iPhone Coders]</ref> 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. |
||
==iPhone SDK== |
|||
[[Image:IPhone SDK - New Project.png|thumb|right|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.<ref>{{cite web |last=Jobs| first=Steve |authorlink=Steve Jobs|url=http://developer.apple.com/iphone/devcenter/third_party_apps.php |title=Third Party Applications on the iPhone |publisher=[[Apple Inc.]] |date=2007-10-17}}</ref> 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 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|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.<ref>{{cite web|url=http://developer.apple.com/iphone/program/details.html|title=Introducing the iPhone Developer Program|publisher=[[Apple Inc.]]}}</ref> |
|||
====SDK history==== |
|||
The iPhone SDK was officially announced on March 6, 2008, at an Apple Town Hall meeting.<ref>{{cite web |url=http://www.engadget.com/2008/03/06/live-from-apples-iphone-press-conference/ |title=Live from Apple's iPhone SDK press conference |work=[[Engadget]] |date=2008-03-06 |last=Block |first=Ryan |publisher=[[Weblogs, Inc.]] |accessdate=2008-12-12}}</ref> 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. |
|||
{| class="wikitable" |
|||
! Date released |
|||
! OS version |
|||
! SDK details |
|||
|- |
|||
|March 27, 2008|| iPhone OS 2.0b2 Beta 2|| Release for iPhone OS version 2.0b2 (build 5A225c),<ref>{{cite web| url=http://iphone.macworld.com/2008/03/iphone_sdk_now_with_100_more_i.php| title=iPhone SDK: now with 100% more Interface Builder| first=Moren|last=Dan | publisher=''[[Macworld]]''| date=2008-03-27| accessdate=2008-03-27}}</ref> which added [[Interface Builder]], an application for building [[graphical user interface]]s for iPhone applications.<ref>{{cite web| url=http://developer.apple.com/tools/interfacebuilder.html| title=Interface Builder| publisher=[[Apple Inc.]]| accessdate=2008-03-27}}</ref> |
|||
|- |
|||
|April 8, 2008|| iPhone OS 2.0b3 Beta 3|| Release for iPhone OS version 2.0b3 (build 5A240d).<ref>[http://www.macrumors.com/2008/04/08/apple-seeds-new-iphone-os-2-0-beta-5a240d-sdk-update/ Apple Seeds New iPhone OS 2.0 Beta (5A240d), SDK Update (Beta 3)] - [[MacRumors]] 2008-04-08.</ref> |
|||
|- |
|||
|April 23, 2008|| iPhone OS 2.0b4 Beta 4|| Release for iPhone OS version 2.0b4 (build 5A258f). This version of the SDK supports OpenGL 3D graphics, primarily used to make games,<ref>[http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fgizmodo.com%2F383430%2Fiphone-sdk-beta-4-now-available-comes-with-opengl-es-3d-graphics-support&ei=EjAQSL2DFKbopATu9OHpBg&usg=AFQjCNGcZDiV8JRvn43e10KJNCT-b1Swrw&sig2=X0ng1s5xJ33VsL56JkeUGQ iPhone SDK Beta 4 Now Available, Comes with OpenGL ES 3D Graphics Support] - [[Gizmodo]].</ref> 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. |
|||
|- |
|||
|May 6, 2008|| iPhone OS 2.0b5 Beta 5||Release for iPhone OS version 2.0b5 (build 5A274d).<ref>[http://gizmodo.com/387892/iphone-sdk-beta-5-now-up-bug-fixes-updated-os-support iPhone SDK Beta 5 Now Up: Bug Fixes, Updated OS Support] - [[Gizmodo]].</ref> |
|||
|- |
|||
|May 29, 2008|| iPhone OS 2.0b6 Beta 6||Release for iPhone OS version 2.0b6 (build 5A292g). The code in this update gave hints about updates to Apple's [[.Mac]]<ref>[http://www.macrumors.com/2008/05/30/apples-mac-service-to-be-renamed-revamped/ MacRumors - Apple's .Mac Service to be Renamed, Revamped?] - [[MacRumors]] 2008-05-30.</ref> service and also gave a first reference to the upcoming version of [[Mac OS X]], version [[Mac OS X v10.6|10.6 Snow Leopard]].<ref>[http://www.macrumors.com/2008/05/29/mac-os-10-6-reference-in-iphone-sdk-beta-6/ Mac OS 10.6 reference in iPhone SDK beta 6] - [[MacRumors]] 2008-05-29.</ref> |
|||
|- |
|||
|June 9, 2008|| iPhone OS 2.0b7 Beta 7||Release for iPhone OS version 2.0b7 (build 5A331), which unlocked Apple's .Mac replacement, [[MobileMe]]. This release was for [[Apple Worldwide Developers Conference|WWDC]], Apple's developer's conference, which is noted as part of the name of the iPhone OS beta download. |
|||
|- |
|||
|June 26, 2008|| iPhone OS 2.0b8 Beta 8||Release for iPhone OS version 2.0b8 (build 5A345).<ref>{{cite web | url=http://adcdownload.apple.com/iphone/iphone_sdk__beta_8__9m2199/iphone_sdk_beta8_readme.pdf | title=iPhone SDK beta release 8 - Download Notes | author=[[Apple Inc.]] | date=June 26, 2008 | work=[[Apple.com]]|publisher=[[Apple Inc.]] | accessdate=2008-06-27}}</ref> |
|||
|- |
|||
|July 24, 2008|| iPhone OS 2.1 Beta 1||Release for iPhone OS version 2.1 (build 5F90).<ref>{{cite web | url=http://www.gearlive.com/news/article/q208-apple-beta-testing-iphone-21-firmware/ | title=iPhone SDK 2.1 beta release 1 released | date=July 25, 2008 | work=[[Gearlive.com]]|publisher=[[Gearlive]] | accessdate=2008-07-25}}</ref> 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. |
|||
|- |
|||
|July 30, 2008|| iPhone OS 2.1 Beta 2||Release for iPhone OS version 2.1.<ref>{{cite web | url=http://www.macrumors.com/2008/07/30/apple-seeds-2nd-beta-of-iphone-2-1-firmware-to-developers/ | title=Apple Seeds 2nd Beta of iPhone 2.1 Firmware to Developers | author=[[MacRumors]] | date=July 30, 2008}}</ref> |
|||
|- |
|||
|August 8, 2008|| iPhone OS 2.1 Beta 3||Release for iPhone OS version 2.1.<ref>{{cite web | url=http://www.macrumors.com/iphone/2008/08/08/apple-releases-iphone-firmware-2-1-beta-3/ | title=Apple Releases iPhone Firmware 2.1 Beta 3 | author=[[MacRumors]] | date=August 8, 2008}}</ref> |
|||
|- |
|||
|September 25, 2008|| iPhone OS 2.2 Beta 1||Release for iPhone OS version 2.2 (Build 5G29).<ref>[http://iphone.cazisoft.com/2008/09/iphone-os-22-developers-beta-released.html The iPhone - iPhone OS 2.2 Developers beta released]</ref> |
|||
|- |
|||
|November 20, 2008|| iPhone OS 2.2||Release for iPhone OS version 2.2 (build 9M2621). |
|||
|- |
|||
|January 27, 2009|| iPhone OS 2.2.1||Release for iPhone OS version 2.2.1 (build 9M2621a).<ref>[http://developer.apple.com/iphone/index.action iPhone DevCenter]</ref> |
|||
|- |
|||
| March 17, 2009|| iPhone OS 3.0||Preview of iPhone OS version 3.0 and SDK 3.0 beta release.<ref>http://www.engadget.com/2009/03/12/iphone-os-3-0-is-coming-march-17th/</ref> |
|||
|} |
|||
====SDK contents==== |
|||
As the iPhone is based on a variant of the same [[XNU|XNU kernel]] that is found in [[Mac OS X]], the [[tool chain]] used for developing on the iPhone is also based on [[Xcode]].<ref name="sdk-overview" /> |
|||
The SDK is broken down into the following sets:<ref>{{cite web| url=http://www.macrumors.com/2008/03/06/apple-releases-iphone-sdk-demos-spore-instant-messaging/| title=Apple Releases iPhone SDK, Demos Spore, Instant Messaging| first=Kim|last=Arnold | publisher=[[MacRumors.com]]| date=2008-03-06| accessdate=2008-03-10}}</ref> |
|||
*[[Cocoa Touch]] |
|||
**[[Multi-touch]] events and controls |
|||
**[[Accelerometer]] support |
|||
**View hierarchy |
|||
**[[internationalization and localization|Localization (i18n)]] |
|||
**[[Camera]] support |
|||
*Media |
|||
**[[OpenAL]] |
|||
**[[Audio mixing]] and [[Sound recording and reproduction|recording]] |
|||
**Video playback |
|||
**[[Image file format]]s |
|||
**[[Quartz (graphics layer)|Quartz]] |
|||
**[[Core Animation]] |
|||
**[[OpenGL ES]] |
|||
*[[Core Services]] |
|||
**[[computer networking|Networking]] |
|||
**Embedded [[SQLite]] database |
|||
**[[geolocation software|GeoLocation]] |
|||
**[[thread (computer science)|Threads]] |
|||
*[[XNU|OS X Kernel]] |
|||
**[[Transmission Control Protocol|TCP/IP]] |
|||
**[[internet socket|Sockets]] |
|||
**[[Power management]] |
|||
**[[File system]] |
|||
**[[computer security|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 v10.5|Mac OS X Leopard]]. Other operating systems, including [[Microsoft Windows]] and older versions of [[Mac OS X]], are not supported. |
|||
===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 and Apple's approval. {{As of|2009|3|url=http://developer.apple.com/iphone/program/sdk.html}}, 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 has developed. |
|||
This distribution model for iPhone software appears to make it impossible to release software based upon code licensed with [[GPL#Version 3|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.<ref>{{cite web |url=http://www.linux.com/feature/131752 |title=The iPhone SDK and free software: not a match |publisher=Linux.com |last=Willis |first=Nathan |date=[[2008-04-15]] |accessdate=2008-06-05}}</ref> |
|||
===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,<ref>http://www.macworld.com/article/132400/2008/03/iphonesdk.html</ref> and was made available as part of the [[iPhone SDK]]. |
|||
===Java=== |
|||
Apple has not announced any plans to enable [[Java (programming language)|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.<ref>{{cite web|url=http://www.infoworld.com/article/08/03/07/sun-iphone-java_1.html|title=Sun: We'll put Java on the iPhone|publisher=''[[Infoworld]]''|last=Krill|first=Paul|date=2008-03-08|accessdate=2008-03-08}}</ref> |
|||
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),<ref>{{cite web|url=http://www.news.com/8301-13579_3-9888722-37.html |
|||
|title=The iPhone SDK: The day after |publisher=[[CNet]]|last=Krazit|first=Tom |date=2008-03-07 |accessdate=2008-03-29}}</ref> 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<ref>{{cite web|url=http://www.thestandard.com/news/2008/03/14/suns-plan-java-iphone-could-hit-roadblock|title=Sun's plan for Java on iPhone could hit roadblock |publisher=''[[The Industry Standard]]''|last=Krill|first=Paul |date=2008-03-14 |accessdate=2008-03-29}}</ref>. |
|||
It is clear that [[Java (programming language)|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: |
|||
{{quotation|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 [[Java Platform, Micro Edition|J2ME]] stack on a iPhone, though it involved [[#Hacking and jailbreaking|jailbreaking]]<ref>{{cite web |
|||
|url=http://weblogs.java.net/blog/brunogh/archive/2008/05/java_on_iphone.html |
|||
|title=First steps with iPhone and Java |
|||
|last=Guisi|first=Bruno |
|||
|date=[[2008-05-25]] |
|||
|accessdate=2008-08-31}}</ref><ref>{{cite web |
|||
|url=http://blog.taragana.com/index.php/archive/how-to-install-compile-run-java-on-iphone/ |
|||
|title=How To Install, Compile, Run Java On iPhone |
|||
|last=Chakraborty|first=Angsuman |
|||
|date=[[2008-06-10]] |
|||
|accessdate=2008-08-31}}</ref>. |
|||
It has also been revealed that there were talks between [[Sun Microsystems|Sun]] and Apple concerning the availability of Java on the iPhone, and that Sun was working in that intent with a company called Innaworks<ref>{{cite web |
|||
|url=http://www.ibtimes.com/articles/20080428/apple-sun-java-iphone.htm |
|||
|title=Apple, Sun Talks Gives Hope for Java on iPhone |
|||
|publisher=ibtimes.com |
|||
|last=Kizito Kasozi|first=Emmanuel |
|||
|date=[[2008-04-28]] |
|||
|accessdate=2008-08-31}}</ref><ref>{{cite web |
|||
|url=http://www.innaworks.com/News.html#News-AlcheMoForIPhoneBeta |
|||
|title=Innaworks announces Java Development Solution for iPhone |
|||
|publisher=[http://www.innaworks.com Innaworks] |
|||
|date=[[2008-03-28]] |
|||
|accessdate=2008-08-31}}</ref>. Curiously, the [[ARM]] processor used in the iPhone includes an environment for accelerated Java execution built into the hardware<ref>{{cite web |
|||
|url=http://www.engadget.com/2007/07/01/iphone-processor-found-620mhz-arm/ |
|||
|title=iPhone processor found: 620MHz ARM CPU |
|||
|publisher=engadget.com |
|||
|last=Ryan|first=Block |
|||
|date=[[2007-07-01]] |
|||
|accessdate=2009-01-02}}</ref>. |
|||
===Flash=== |
|||
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 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. |
|||
=== SVG === |
|||
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. [[Synchronized Multimedia Integration Language|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 (HTML element)|Canvas]] is supported. |
|||
== Hacking and jailbreaking == |
== Hacking and jailbreaking == |
Revision as of 22:01, 27 March 2009
File:IPhonehomescreen.PNG | |
Developer | Apple Inc. |
---|---|
OS family | Mac OS X / Unix-like |
Working state | Current |
Source model | Closed source (with open source components) |
Latest release | 2.2.1 (5H11) / January 27, 2009 |
Latest preview | 2.1 |
Platforms | ARMv6 (iPhone and iPod Touch) |
Kernel type | Hybrid |
Default user interface | Cocoa Touch (Multi-touch, GUI) |
License | Proprietary EULA |
Official website | iPhone Dev Center |
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 than half a gigabyte (GB) 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 17 March 2009[ref], there are over 25,000 applications officially available for the iPhone and Apple's App Store has provided more than 800 million application downloads.
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, pinching, and reverse pinching. Additionally, using internal accelerometers, rotating the device on its y-axis alters the screen orientation in some applications.
A home screen ("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 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.)
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.
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.
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
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.
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 third-party 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[13], although these efforts were largely abandoned once the kill switch was proven to only disable Core Location[citation needed].
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[citation needed], 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.
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"[14] 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.
Firmware version history
The version history of iPhone OS spans from its release on June 29 2007 to the present day.
References
- ^ 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) - ^ Gary, Benson (2008-03-07). "iPhone SDK - Overview (the SDK, not the Event)". Retrieved 2008-03-10.
- ^ 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., Archived version from 2007-10-06
- ^ Dr. Dobb's. "OpenGL and Mobile Devices: Round 2 (OpenGL ES for the iPhone and iPod Touch)".
- ^ iPhone Dev Center
- ^ Apple Inc. (2008-07-10). "iPhone Applications". Retrieved 2008-07-11.
- ^ Ziegler, Chris. Apple announces third-party software details for iPhone, Engadget, (2007-06-11)Template:Accessdate
- ^ 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
- ^ Apple iPhone 'kill switch' discovered - Telegraph
- ^ Don't eat yellowsn0w!
See also
External links
- iPhone Dev Center - on the Apple Developer Connection website
- iPhone OS Overview from Apple Inc. (requires developer registration)