Jump to content

iOS SDK

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 100.14.80.143 (talk) at 20:03, 14 November 2016 (Added build numbers for iOS 9.3.2 and 9.3.3 betas.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

iOS SDK (Software Development Kit)
Original author(s)Apple Inc.
Developer(s)Apple Inc.
Initial releaseMarch 6, 2008; 16 years ago (2008-03-06)
Operating systemmacOS
Available inEnglish
TypeSoftware development kit
WebsiteApple Developer

The iOS SDK (Software Development Kit) (formerly iPhone SDK) is a software development kit developed by Apple Inc. and released in February 2008 to develop native applications for iOS.

History

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.[1] The SDK was released on March 6, 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 iOS Developer Program fee, which is $99.00 USD per year.[2] Since the release of Xcode 3.1, Xcode is the development environment for the iOS SDK. iPhone applications, like macOS applications, are written in Swift and Objective-C,[3] with some elements of an application able to be written in C or C++.

SDK release history

Apple normally releases a new SDK concurrently with every major (iOS x.0 – e.g. iOS 6.0) and minor (iOS x.x, e.g. iOS 5.1) iOS update. Several beta SDKs are usually released to developers before the version is released publicly. The betas are intended to be used for testing for compatibility with existing applications and to add features that are newly available in that version of iOS.[4]

Obsolete Discontinued Current release Old Release Beta Old beta Future Release

iPhone OS 1.x: SDK

Table of versions: iPhone OS 1.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iPhone OS 1.2 Beta 1
5A147p March 6, 2008 Release for iPhone OS version 1.0 Announced at an Apple press conference.[5]
Version Build Release date Features/Notes iTunes version Xcode version

iPhone OS 2.x: SDK

Table of versions: iPhone OS 2.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iPhone OS 2.0 Beta 2
5A225c March 27, 2008 Release for iPhone OS version 2.0b2,[6] which added Interface Builder, an application for building graphical user interfaces for iPhone applications.[7]
iPhone OS 2.0 Beta 3
5A240d April 8, 2008 Release for iPhone OS version 2.0b3.[8]
iPhone OS 2.0 Beta 4
5A258f April 23, 2008 Release for iPhone OS version 2.0b4. This version of the SDK supports OpenGL 3D graphics, primarily used to make games,[9] 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.
iPhone OS 2.0 Beta 5
5A274d May 6, 2008 Release for iPhone OS version 2.0b5.[10]
iPhone OS 2.0 Beta 6
5A292g May 28, 2008 Release for iPhone OS version 2.0b6. The code in this update gave hints about updates to Apple's .Mac[11] service and also gave a first reference to the upcoming version of Mac OS X, version 10.6 Snow Leopard.[12]

This beta had two separate builds. The first on (5A292g) was an enterprise pre-release, while the second one (5A308) was the general developer release.[13]

5A308 May 29, 2008
iPhone OS 2.0 Beta 7
5A331 June 9, 2008 Release for iPhone OS version 2.0b7, 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.
iPhone OS 2.0 Beta 8
5A345 June 26, 2008 Release for iPhone OS version 2.0b8.[14]
iPhone OS 2.0 Final
5A347 July 11, 2008 Release for iPhone OS version 2.0. This coincided with the launch of the App Store.
iPhone OS 2.1 Beta
5F90 [1] July 24, 2008 Release for iPhone OS version 2.1.[15] 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.
iPhone OS 2.1 Beta 2
5F97 July 30, 2008 Release for iPhone OS version 2.1.[16]
iPhone OS 2.1 Beta 3
5F108 August 8, 2008 Release for iPhone OS version 2.1.[17]
iPhone OS 2.1 Beta 4
5F116 [2] August 16, 2008
iPhone OS 2.1 Final
5F136 September 12, 2008 Release for iPhone OS 2.1.
iPhone OS 2.2 Beta
5G29 September 25, 2008 Release for iPhone OS version 2.2.[18]
iPhone OS 2.2 Beta 2
5G53 [3] October 24, 2008
iPhone OS 2.2 Final
5G77 November 20, 2008 Release for iPhone OS version 2.2.
Version Build Release date Features/Notes iTunes version Xcode version

iPhone OS 3.x: SDK

Table of versions: iPhone OS 3.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iPhone OS 3.0 Beta 1
7A238j March 17, 2009 Preview of iPhone OS version 3.0 and SDK 3.0 beta release.[19]
iPhone OS 3.0 Beta 2
7A259g March 31, 2009 Release for iPhone OS version 3.0.[20]
iPhone OS 3.0 Beta 3
7A280f April 14, 2009 Release for iPhone OS version 3.0.[21]
iPhone OS 3.0 Beta 4
7A300g April 28, 2009 Release for iPhone OS version 3.0.[22]
iPhone OS 3.0 Beta 5
7A312g May 6, 2009 Release for iPhone OS version 3.0.[23]
iPhone OS 3.0 Golden Master
5A331 June 8, 2009 Final Release for iPhone OS version 3.0 for developers and private testers only.[24]
iPhone OS 3.0 Final
5A345 June 17, 2009 Final release for iPhone OS version 3.0 for standard users was released on June 17.[25]
iPhone OS 3.1 Beta 1
7C97d June 30, 2009 First beta release for iPhone OS version 3.1 released to developers June 30.
iPhone OS 3.1 Beta 2
7C106c July 14, 2009 Second beta release for iPhone OS version 3.1 released to developers July 14.
iPhone OS 3.1 Beta 3
7C116a July 27, 2009 Third beta release for iPhone OS version 3.1 released to developers July 27.
iPhone OS 3.1 Final
7C144 September 9, 2009 Final release for iPhone OS version 3.1 for standard users was released in the Apple "It's Only Rock and Roll, but we like it" special event on September 9, 2009.
iOS 3.2 Beta 1
7B314 [4] January 27, 2010 Initial, developer-only beta release for iOS version 3.2. iPad only.
iOS 3.2 Beta 2
7B320c February 9, 2010 iPad only.
iOS 3.2 Beta 3
7B334b February 23, 2010 iPad only.
iOS 3.2 Beta 4
7B348b March 9, 2010 iPad only.
iOS 3.2 Beta 5
7B360 March 17, 2010 iPad only.
iOS 3.2 Golden Master
7B367 March 29, 2010 iPad only.
iOS 3.2 Final
7B367 April 3, 2010 First public release of iOS version 3.2. iPad only.
Version Build Release date Features/Notes iTunes version Xcode version

iOS 4.x: SDK

Table of versions: iOS 4.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iOS 4.0 Beta 1
8A230m April 8, 2010 First beta release for iOS version 4.0 released to developers April 8.
iOS 4.0 Beta 2
8A248c April 20, 2010 Second beta release for iOS version 4.0 released to developers April 20.
iOS 4.0 Beta 3
8A260b May 4, 2010 Third beta release for iOS version 4.0 released to developers May 4.
iOS 4.0 Beta 4
8A260b May 18, 2010 Fourth beta release for iOS version 4.0 released to developers May 18.
iOS 4.0 Golden Master
8A293 June 7, 2010 Golden Master release for iOS version 4.0 released to developers June 7.
iOS 4.0 Final
8A331 June 8, 2010 Final Release for iPhone OS version 4.0 for developers and private testers only.[25]
iOS 4.1 Beta 1
8B5080c July 14, 2010 First beta release for iOS version 4.1 released to developers July 14.
iOS 4.1 Beta 2
8B5091b July 27, 2010 Second beta release for iOS version 4.1.
iOS 4.1 Beta 3
8B5097d August 3, 2010 Third beta release for iOS version 4.1.
iOS 4.1 Final
8B117 September 8, 2010 Final release for iOS version 4.1 released to developers September 8.
iOS 4.2 Beta 1
8C5091e September 15, 2010 First beta release for iOS version 4.2.
iOS 4.2 Beta 2
8C5101c September 28, 2010 Second beta release for iOS version 4.2.
iOS 4.2 Beta 3
8C5115c October 12, 2010 Third beta release for iOS version 4.2.
iOS 4.2 Golden Master
8C134 November 1, 2010 Golden Master seed release for iOS version 4.2.
iOS 4.2 Golden Master 2
8C148 November 18, 2010 Second Golden Master seed release for iOS version 4.2, numbered as 4.2.1.
iOS 4.2 Final
8C134 November 22, 2010 Final release for iOS version 4.2 released to developers November 22.
iOS 4.3 Beta 1
8F5148b January 12, 2011 Drops support for iPhone 3G, and second-generation iPod touch.
iOS 4.3 Beta 2
8F5153d January 19, 2011
iOS 4.3 Beta 3
8F5166b February 1, 2011
iOS 4.3 Golden Master
8F190 March 3, 2011 Also includes Xcode 4 golden master to support iOS 4.3. Xcode 4 golden master
iOS 4.3 Final
8F190 March 9, 2011 Also includes Xcode 4 final. Xcode 4 final
Version Build Release date Features/Notes iTunes version Xcode version

iOS 5.x: SDK

Table of versions: iOS 5.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iOS 5.0 beta 1
9a5220p June 6, 2011 iTunes 10.5 beta 1
iOS 5.0 beta 2
9A524Bd June 24, 2011 iTunes 10.5 beta 2
iOS 5.0 beta 3
9A5259f July 11, 2011 iTunes 10.5 beta 3
iOS 5.0 beta 4
9A5274d July 22, 2011 iTunes 10.5 beta 4 Xcode 4.2 Preview 4
iOS 5.0 beta 5
9A5288d August 6, 2011 iTunes 10.5 beta 5 Xcode 4.2 Preview 5
iOS 5.0 beta 6
9A5302b August 19, 2011 iTunes 10.5 beta 6 Xcode 4.2 Preview 6
iOS 5.0 beta 7
9A5313e August 31, 2011 iTunes 10.5 beta 7 Xcode 4.2 Preview 7
iOS 5.0 Golden Master
9A334 October 4, 2011 iTunes 10.5 beta 9 Xcode 4.2 Golden Master
iOS 5.0 Final
9A334 October 12, 2011 iTunes 10.5 Xcode 4.2
iOS 5.1 beta 1
9B5117b November 28, 2011 Xcode 4.3 Beta preview
iOS 5.1 beta 2
9B5127c December 12, 2011 Xcode 4.3 Beta preview 2
iOS 5.1 beta 3
9B5141a January 9, 2012 Xcode 4.3 Beta preview
iOS 5.1 Final
9B176, 9B179 P5 (iPhone 4S only) March 7, 2012 iTunes 10.6 Xcode 4.3
Version Build Release date Features/Notes iTunes version Xcode version

iOS 6.x: SDK

Table of versions: iOS 6.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iOS 6.0 beta 1
10A5316k June 11, 2012 iTunes 10.6.3 Xcode 4.5 Beta preview
iOS 6.0 beta 2
10A5338d June 25, 2012 Xcode 4.5 Beta 2 preview
iOS 6.0 beta 3
10A5355d July 16, 2012 Xcode 4.5 Beta 3 preview
iOS 6.0 beta 4
10A5376e August 6, 2012 Xcode 4.5 Developer Preview 4
iOS 6.0 Golden Master
10A403 September 12, 2012 iTunes 10.7 Xcode 4.5 Golden Master
iOS 6.0 Final
10A403, 10A405 (iPhone 5),10A406 (iPod Touch 5th Gen.) September 19, 2012 Xcode 4.5
iOS 6.1 beta 1
10B5095f November 1, 2012
iOS 6.1 beta 2
10B5105c November 12, 2012
iOS 6.1 beta 3
10B5117b December 3, 2012
iOS 6.1 beta 4
10B5126b December 17, 2012
iOS 6.1 Final
10B141 P3 S2 S2C S2D S3 S3L S3D S4 S4L S4D M1 M1C T5
10B142 P4S
10B143 P5 T4
10B144 P4 P4C10B145 P4S
January 28, 2013
iOS 6.1.1
10B145 P4S February 6, 2013
Version Build Release date Features/Notes iTunes version Xcode version

iOS 7.x: SDK

Table of versions: iOS 7.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iOS 7.0 beta 1
11A4372q June 10, 2013 Release of iOS 7 beta iTunes 11 Xcode 5
iOS 7.0 beta 2
11A4400f June 24, 2013 iPad support added iTunes 11 Xcode 5
iOS 7.0 beta 3
11A4414e July 8, 2013 Bug fixes and crashes iTunes 11 Xcode 5
iOS 7.0 beta 4
11A4435d July 29, 2013 Bug fixes and crashes iTunes 11 Xcode 5
iOS 7.0 beta 5
11A4449a August 6, 2013 Minor Bug fixes and changes to appearance iTunes 11.1 beta 1 Xcode 5
iOS 7.0 beta 6
11A4449d August 15, 2013 Minor Bug fixes iTunes 11.1 beta 1 Xcode 5
iOS 7.0 Golden Master
11A465 September 10, 2013 Many Bug fixes iTunes 11.1 beta 2 Xcode 5
iOS 7.0 Final
11A465 September 18, 2013 iTunes 11.1 Xcode 5
iOS 7.0.1
11A470a September 19, 2013
iOS 7.0.2
11A501 September 26, 2013
iOS 7.0.3
11B511 October 22, 2013
iOS 7.1 beta 1
11D5099e November 18, 2013
iOS 7.1 beta 2
11D5115d December 13, 2013
iOS 7.1 beta 3
11D5127c January 7, 2014
iOS 7.1 beta 4
11D5134c January 20, 2014 iTunes 11.1.4 Xcode 5.1
iOS 7.1 beta 5
11D5145e February 4, 2014 iTunes 11.1.4 Xcode 5.1
iOS 7.1 Final
11D167 March 10, 2014 Xcode 5.1
Version Build Release date Features/Notes iTunes version Xcode version

iOS 8.x: SDK

Table of versions: iOS 8.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iOS 8.0 beta 1
12A4265u June 2, 2014 Release of iOS 8 beta iTunes 11.2.2 Xcode 6
iOS 8.0 beta 2
12A4297e June 17, 2014 Xcode 6
iOS 8.0 beta 3
12A4318c July 7, 2014 Xcode 6
iOS 8.0 beta 4
12A4331d July 21, 2014 Xcode 6
iOS 8.0 beta 5
12A4345d August 4, 2014 Xcode 6
iOS 8.0 Golden Master
12A365 September 9, 2014 iTunes 11.4.0 Xcode 6
iOS 8.0 Final
12A365 September 17, 2014 iTunes 11.4.018 Xcode 6.0.1
iOS 8.0.1
12A402 September 24, 2014
iOS 8.0.2
12A405 September 25, 2014
iOS 8.1 beta 1
12B401 September 29, 2014 Release of iOS 8.1 beta Xcode 6.1
iOS 8.1 beta 2
12B407 October 7, 2014 Xcode 6.1 GM seed 2
iOS 8.1 Final
12B410
12B411
October 20, 2014 Xcode 6.1 build 6A1052d
iOS 8.1.1
12B435
12B436
November 17, 2014
iOS 8.1.2
12B440 December 9, 2014
iOS 8.1.3
12B466 January 27, 2015
iOS 8.2 beta 1
12B436 November 18, 2014 Release of iOS 8.2 beta Xcode 6.2 with WatchKit
iOS 8.2 beta 2
12D445d December 10, 2014 Xcode 6.2
iOS 8.2 beta 3
12D5452a December 18, 2014 Xcode 6.2
iOS 8.2 beta 4
12D5461b January 12, 2015 Xcode 6.2
iOS 8.2 beta 5
12D5480a February 2, 2015 Xcode 6.2
iOS 8.2 Final
12D508 March 9, 2015 Apple Watch support and initial WatchKit SDK iTunes 12.1.1 Xcode 6.2
iOS 8.3 beta 1
12F5027d February 9, 2015 Release of iOS 8.3 beta, concurrent with iOS 8.2 beta 5 Xcode 6.3
iOS 8.3 beta 2
12F5037c February 23, 2015 Xcode 6.3
iOS 8.3 beta 3
12F5047f March 12, 2015 Xcode 6.3
iOS 8.3 beta 4
12F61 March 24, 2015 Xcode 6.3
iOS 8.3 Final
12F69 - 12F70 April 8, 2015 iTunes 12.1.2 Xcode 6.3 build 6D570
iOS 8.4 beta 1
12H4074d unknown Redesigned Music App Xcode 6.3 build 6D570
iOS 8.4 beta 2
12H4086d unknown Xcode 6.4 beta 2
iOS 8.4 beta 3
12H4098c May 11, 2015 Xcode 6.4 beta 3
iOS 8.4 beta 4
12H4125a June 9, 2015 Xcode 6.4 beta 4
iOS 8.4 Final
12H143 June 30, 2015 Apple Music iTunes 12.2 Xcode 6.4
iOS 8.4.1
12H321 August 13, 2015 iTunes 12.2.2
Version Build Release date Features/Notes iTunes version Xcode version

iOS 9.x: SDK

Table of versions: iOS 9.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iOS 9.0 beta 1
13A4254v June 8, 2015 Xcode 7.0 beta 1
iOS 9.0 beta 2
13A4280e June 23, 2015 Xcode 7.0 beta 2
iOS 9.0 beta 3
13A4293g July 8, 2015 Xcode 7.0 beta 3 build 7A152u
iOS 9.0 beta 4
13A4305g July 21, 2015 Xcode 7.0 beta 4 build 7A165t
iOS 9.0 beta 5
13A4325c August 6, 2015 Xcode 7.0 beta 5 build 7A176x
iOS 9.0 Golden Master
13A340 September 9, 2015
iOS 9.0 Final
13A340 September 16, 2015 iTunes 12.3.0.44 Xcode 7.0.1 build 7A1001
iOS 9.0.1
13A404 September 23, 2015
iOS 9.0.2
13A452 September 30, 2015
iOS 9.1 beta 1
13B5110e September 9, 2015 Xcode 7.1 beta 1 build 7B60
iOS 9.1 beta 2
13B5119e September 23, 2015 Xcode 7.1 beta 2
iOS 9.1 beta 3
13B5130b September 30, 2015 Xcode 7.1 beta 2 build 7B75
iOS 9.1 beta 4
13B136 October 6, 2015 Xcode 7.1 beta 3 build 7B85
iOS 9.1 beta 5
13B137 - 13B139 October 12, 2015
iOS 9.1 Final
13B143 October 22, 2015 watchOS 2.0.1 Xcode 7.1 build 7B91b
iOS 9.2 beta 1
13C5055d October 27, 2015 Xcode 7.2 beta 1 build 7C46I
iOS 9.2 beta 2
13C5060d November 3, 2015 Xcode 7.2 beta 2 build 7C46t
iOS 9.2 beta 3
13C71 November 11, 2015 Xcode 7.2 beta 3 build 7C62
iOS 9.2 beta 4
13C5075 November 18, 2015 Xcode 7.2 beta 4 build 7C62b
iOS 9.2 Final
13C75 December 8, 2015 watchOS 2.1 build 13S661 Xcode 7.2 build 7C68
iOS 9.2.1 beta 1
13D11 December 16, 2015
iOS 9.2.1 beta 2
13D14 January 4, 2016
iOS 9.2.1 Final
13D15 -13D20 January 19, 2016 - February 18, 2016
iOS 9.3 beta 1
13E5181d January 11, 2016 Night Shift watchOS 2.2 build 13V5098e Xcode 7.3 build 7D111g
iOS 9.3 beta 1.1
13E5181f January 14, 2016
iOS 9.3 beta 2
13E5191d January 25, 2016 Xcode 7.3 beta 2 build 7D129n
iOS 9.3 beta 3
13E5200d February 8, 2016
iOS 9.3 beta 4
13E5214d February 22, 2016
iOS 9.3 beta 5
13E5225a March 1, 2016 Xcode 7.3 beta 5 build 7D162j
iOS 9.3 beta 6
13E5231a March 7, 2016
iOS 9.3 beta 7
13E5233a - 13E5234a March 14, 2016
iOS 9.3 Final
13E233 -13E237 March 21, 2016 - March 28, 2016 iTunes 12.3.3.17 Xcode 7.3 (7D175)
iOS 9.3.1
13E238 March 31, 2016
iOS 9.3.2 beta 1
13F51a April 6, 2016
iOS 9.3.2 beta 2
13F61 April 20, 2016
iOS 9.3.2 beta 3
13F65 April 26, 2016
iOS 9.3.2 beta 4
13F68 May 3, 2016
iOS 9.3.2 Final
13F69 -13F72 May 16, 2016 - June 6, 2016 iTunes 12.4.0.119
iOS 9.3.3 beta 1
13G12 May 23, 2016
iOS 9.3.3 beta 2
13G21 June 6, 2016
iOS 9.3.3 beta 3
13G29 June 21, 2016
iOS 9.3.3 beta 4
13G33 June 29, 2016
iOS 9.3.3 beta 5
13G34 July 6, 2016
iOS 9.3.3 Final
13G34 July 18, 2016 iTunes 12.4.2
iOS 9.3.4
13G35 August 4, 2016
iOS 9.3.5
13G36 August 25, 2016
Version Build Release date Features/Notes iTunes version Xcode version

iOS 10.x: SDK

Table of versions: iOS 10.x SDK
Version Build Release date Features/Notes iTunes version Xcode version
iOS 10.0 beta 1
14A5261v June 13, 2016 Release of iOS 10 beta iTunes 12.4
iOS 10.0 beta 2
14A5297c July 5, 2016
iOS 10.0 beta 3
14A5309d July 18, 2016
iOS 10.0 beta 4 (public beta 3)
14A5322e August 1, 2016
iOS 10.0 beta 5 (public beta 4)
14A5335b August 9, 2016
iOS 10.0 beta 6 (public beta 5)
14A5341a August 15, 2016
iOS 10.0 beta 7 (public beta 6)
14A5345a August 19, 2016
iOS 10.0 beta 8 (public beta 7)
14A5346a August 26, 2016
iOS 10.0
14A346 September 16, 2016 For iPhone 7 and iPhone 7 Plus only
Released after iOS 10.0.1
iOS 10.0.1 Golden Master
14A403 September 7, 2016
iOS 10.0.1
September 13, 2016 iTunes 12.5.1 Xcode 8.0
iOS 10.0.2
14A456 September 23, 2016
iOS 10.0.3
14A551 October 17, 2016 For iPhone 7 and iPhone 7 Plus only
iOS 10.1 beta 1
14B55c September 21, 2016
iOS 10.1 beta 2
14B67 October 4, 2016
iOS 10.1 beta 3
14B71 October 10, 2016
iOS 10.1 beta 4
14B72 - 14B72b October 18, 2016
iOS 10.1 beta 5
14B72c October 19, 2016 For iPhone 7 and iPhone 7 Plus only
iOS 10.1
14B72 | 14B72c October 24, 2016
iOS 10.1.1
14B100 October 31, 2016
iOS 10.2 beta 1
Version Build Release date Features/Notes iTunes version Xcode version

Features

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

Since its release, there has been some controversy regarding the refund policy in the fine print of the Developer Agreement with Apple. 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. If a refund is granted to the customer (at Apple's discretion), the 30% is returned to the customer from Apple, and 70% from the developer; however, Apple can then take another 30% of the cost from the developer to make up for Apple's loss.[27]

SDK contents

The tool chain used for developing on iOS is based on Xcode.

The SDK contents is broken down into the following sets:[28]

Along with the Xcode toolchain, the SDK contains the iPhone Simulator, a program used to simulate 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 rather than ARM.

The latest SDK, iOS 9.0 SDK in Xcode 7.3, requires an Intel Mac running OS X 10.11 or later. Other operating systems, including Microsoft Windows and older versions of macOS, are not supported.[29]

Core Location

Core Location is a software framework in iOS. It is primarily used by applications on iOS (formerly iPhone OS) 2.0 or later for detection of the device's location, and on supported devices running iPhone OS 3.0 or later, the device's heading. On the iPod Touch and iPad (Wifi-only models), Core Location uses Skyhook Wireless's Wi-Fi-based positioning system. On the original iPhone, it uses cellular tower triangulation in addition to Wi-Fi positioning. On the iPhone 3G or newer and iPad (Wifi + Cellular models), it also uses the available GPS hardware, and the iPhone 4S uses all the aforementioned technologies with the addition of GLONASS. The actual selection of location method is abstracted from the user and developer.

Core Location also allows applications to retrieve the device's heading from the built-in magnetometer (digital compass). It not only can detect the magnetic heading and true heading (combined with the GPS), but also can get raw heading data.[30] Heading information is only available in iPhone OS 3.0 or later running on the iPhone 3GS or newer and all iPad models.

The framework was announced as part of the iPhone Software Roadmap event on March 6, 2008,[31] and was made available as part of the iOS SDK.

SVG

Mobile Safari supports SVG starting with iPhone OS 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.

Alternatives

Restrictions imposed by iOS Developer Program License

Terms in the iOS Developer Program License were relaxed by Apple in September 2010 with regard to using other interpreter languages.[32][33]

Java

Java running on an iOS platform currently is outside the bounds of the iOS SDK Agreement. The guideline in question is rule 3.3.2, which reads and which was changed after Sept 2010:

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 or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s).

In 2008, Sun Microsystems announced plans to release a Java Virtual Machine (JVM) for iOS, based on the Java Platform, Micro Edition version of Java. This would enable Java applications to run on iPhone and iPod Touch.[34] 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),[35] 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), could hinder development of the JVM without Apple's cooperation.[36]

It is possible to install and use a J2ME stack on an iPhone, though it involves jailbreaking.[37][38]

In 2008, 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.[39][40] Since it is required that all ARM9 or later processors include Jazelle support, the iPhone includes the hardware for accelerated Java execution.[41]

.NET/CLI

It is not permissible to install a .NET Framework or similar runtime on an iPhone, but by using Xamarin's commercial MonoTouch framework it is possible to achieve similar results. MonoTouch uses a custom fork of the Mono Project to compile all CLI bytecode in .NET to native ARM machine-code ahead of time.[42]

Since this framework is fully compatible with CLI compliant languages that do not emit runtime compiled code it is possible to develop with the wide range of languages supported by .NET, including C# and Visual Basic .NET. Though at this time the MonoTouch native ARM code compiler only supports C# with plans for Visual Basic .NET in the future.[43]

Flash

iOS does not support Adobe Flash, and Flash movies on web pages cannot be viewed in Mobile Safari[note 1]. Although Adobe has two versions of its software – Flash and Flash Lite – Apple views neither as suitable for the iPhone, claiming that full Flash would be too cumbersome for the iPhone, while Flash Lite would not provide a worthy experience for the users.[45]

Flash for Apple is a virtual machine with a just-in-time compiler. Apple's iOS SDK prevents any software on the iPhone from downloading or running external executable code (e.g. a virtual machine). Additionally, apps built under the iPhone Developer Program License Agreement for the iPhone SDK 4 Beta may not be originally written in any other programming language than C, C++, or Objective-C.[46] What Adobe had done in their CS5 release for the iPhone was to create a static compiler that allows developers to compile their Flash programs into apps that can run on the iPhone.[47] This would have allowed many Flash games to become apps, but still would have prevented web interfaces such as Hulu from working on the iPhone. But as these apps wouldn't have been originally written in C, C++ or Objective-C, they may not pass the App Store approval process when done under the terms of the iPhone SDK 4 Beta.

Unofficially, some Flash video sites can be viewed by using a jailbroken iPhone with certain third-party applications.[48] However, it results on extremely low frame rate due to the lack of memory bandwidth and CPU speed for Flash JIT execution. Another reason is the general lack of optimization of Flash for iOS, which can be seen in several benchmarks of Flash in macOS.[49]

Since November 2009, Adobe has posted the following notice on the Flash download page when viewed from an iPhone:[50]

"Flash Player not available for your device
"Apple restricts use of technologies required by products like Flash Player. Until Apple eliminates these restrictions, Adobe cannot provide Flash Player for the iPhone, iPod Touch and iPad."

In November 2011, Adobe announced that they would no longer continue to develop a mobile version of Flash.[51]

Licensing

The SDK itself is a free download, but beta SDKs require a paid developer account. In order to release software, one must enroll in the iPhone Developer Program—a step requiring payment and Apple's approval. As of February 2015, cost of enrollment in the iPhone Developer Program is US$99 per year (the cost varies from country to country) for the standard program. Signed keys are provided 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. The SDK can only be installed in macOS, and the latest SDK (iOS SDK 10.0 with Xcode 8.1, as of October 2016) requires OS X 10.11.5 "Mountain Lion" or later.

See also

Notes

  1. ^ Note that there are workarounds available which implement Flash in JavaScript – though they are not widely used.[44]

References

  1. ^ Jobs, Steve (October 17, 2007). "Third Party Applications on the iPhone". Apple. Archived from the original on October 20, 2007. Retrieved June 24, 2014. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  2. ^ "iOS Developer Program". Apple. Retrieved March 7, 2011.
  3. ^ "Did Apple Make A Mistake Choosing Objective-C For iPhone SDK? at Simon's Blog". Psynixis. April 25, 2008. Retrieved May 9, 2010.
  4. ^ "Pre-Release Software". Apple Developer (support). Apple. Retrieved October 5, 2012.
  5. ^ Block, Ryan (March 6, 2008). "Live from Apple's iPhone SDK press conference". Engadget. Weblogs. Retrieved December 12, 2008.
  6. ^ Dan, Moren (March 27, 2008). "iPhone SDK: now with 100% more Interface Builder". Macworld. Retrieved March 27, 2008.
  7. ^ "Interface Builder". Apple Inc. Retrieved March 27, 2008.
  8. ^ Apple Seeds New iPhone OS 2.0 Beta (5A240d), SDK Update (Beta 3) - MacRumors April 8, 2008.
  9. ^ iPhone SDK Beta 4 Now Available, Comes with OpenGL ES 3D Graphics Support - Gizmodo.
  10. ^ iPhone SDK Beta 5 Now Up: Bug Fixes, Updated OS Support - Gizmodo.
  11. ^ MacRumors - Apple's .Mac Service to be Renamed, Revamped? - MacRumors May 30, 2008.
  12. ^ Mac OS 10.6 reference in iPhone SDK beta 6 - MacRumors May 29, 2008.
  13. ^ "Beta Firmware". The iPhone Wiki. iPhone.
  14. ^ "iPhone SDK beta release 8 - Download Notes" (PDF). Apple Inc. June 26, 2008. Retrieved June 27, 2008.
  15. ^ "iPhone SDK 2.1 beta release 1 released". Gearlive. July 25, 2008. Retrieved July 25, 2008.
  16. ^ "Apple Seeds 2nd Beta of iPhone 2.1 Firmware to Developers". MacRumors. July 30, 2008.
  17. ^ "Apple Releases iPhone Firmware 2.1 Beta 3". MacRumors. August 8, 2008.
  18. ^ The iPhone - iPhone OS 2.2 Developers beta released
  19. ^ "iPhone OS 3.0 is coming, preview on March 17th". Engadget. Retrieved May 9, 2010.
  20. ^ Martin, David (April 1, 2009). "Apple releases iPhone OS 3 beta 2 to developers". CNET Reviews. Retrieved April 3, 2009.
  21. ^ Ziegler, Chris (April 15, 2009). "iPhone OS 3.0 beta 3 goes live". Engadget. Retrieved April 15, 2009.
  22. ^ Miller,Ross (April 28, 2009). "iPhone OS 3.0 beta 4, iTunes 8.2 pre-release now live". Engadget. Retrieved April 28, 2009.
  23. ^ Miller, Ross (May 6, 2009). "iPhone OS 3.0 beta 5 now available". Engadget. Retrieved May 6, 2009.
  24. ^ Erica Ogg (June 8, 2009). "Live blog: WWDC 2009 keynote". CNET. Retrieved February 13, 2013.
  25. ^ a b "Archived copy". Archived from the original on August 5, 2009. Retrieved April 22, 2010. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)CS1 maint: archived copy as title (link)
  26. ^ "Introducing the iPhone Developer Program". Apple Inc.
  27. ^ "iPhone developers could be bankrupted".
  28. ^ Arnold, Kim (March 6, 2008). "Apple Releases iPhone SDK, Demos Spore, Instant Messaging". MacRumors.com. Retrieved March 10, 2008.
  29. ^ "Xcode 7 Release Notes". Apple, Inc. May 3, 2016.
  30. ^ "CLHeading Reference". Retrieved September 14, 2012.
  31. ^ Dalrymple, Jim. "Apple unveils iPhone SDK | Mobile". Macworld. Retrieved May 9, 2010.
  32. ^ "Statement by Apple on App Store Review Guidelines". Apple Inc. September 9, 2010. Retrieved August 26, 2011.
  33. ^ Peter Kafka (September 9, 2010). "Apple Hands App Developers an Olive Branch. What About Adobe and AdMob?". All things D. Retrieved August 26, 2011.
  34. ^ Krill, Paul (March 8, 2008). "Sun: We'll put Java on the iPhone". Infoworld. Retrieved March 8, 2008.
  35. ^ Krazit, Tom (March 7, 2008). "The iPhone SDK: The day after". CNet. Retrieved March 29, 2008.
  36. ^ Krill, Paul (March 14, 2008). "Sun's plan for Java on iPhone could hit roadblock". The Industry Standard. Retrieved March 29, 2008.
  37. ^ Guisi, Bruno (May 25, 2008). "First steps with iPhone and Java". Retrieved August 31, 2008.
  38. ^ Chakraborty, Angsuman (June 10, 2008). "How To Install, Compile, Run Java On iPhone". Retrieved August 31, 2008.
  39. ^ Kizito Kasozi, Emmanuel (April 28, 2008). "Apple, Sun Talks Gives Hope for Java on iPhone". ibtimes.com. Retrieved August 31, 2008.
  40. ^ "Innaworks announces Java Development Solution for iPhone". Innaworks. March 28, 2008. Retrieved August 31, 2008.
  41. ^ Block, Ryan (July 1, 2007). "iPhone processor found: 620MHz ARM CPU". engadget.com. Retrieved January 2, 2009.
  42. ^ Paul, Ryan (September 15, 2009). "MonoTouch drops .NET into Apple's walled app garden". Ars Technica. Retrieved November 23, 2009.
  43. ^ "MonoTouch FAQ". Xamerin. June 27, 2012. Retrieved July 9, 2012.
  44. ^ Irish, Paul, "Demos", Gordon.
  45. ^ Krazit, Tom (March 19, 2008). "Adobe realizes SDK not enough for Flash on iPhone | Apple". News. CNET. Retrieved May 9, 2010.
  46. ^ Gruber, John (April 8, 2010). "New iPhone Developer Agreement Bans the Use of Adobe's Flash-to-iPhone Compiler". Daring Fireball. Retrieved April 12, 2010.
  47. ^ Parr, Ben. "Adobe Announces Flash Support for iPhone (But Only for Apps)". Mashable. Retrieved May 9, 2010.
  48. ^ iMobile cinema.
  49. ^ Paul, Ryan (October 17, 2008). "Benchmarking Flash Player 10 (Updated)". Ars technica. Retrieved May 9, 2010.
  50. ^ "Adobe Gets Sharky Snarky With Apple's iPhone Flash Ban – iPhone Flash Support". Gizmodo. November 2, 2009. Retrieved May 9, 2010.
  51. ^ "Flash to Focus on PC Browsing and Mobile Apps". Adobe. November 9, 2011. Retrieved December 17, 2012.