Silly question - Is there a way to download the iPhone SDK without Xcode when Apple releases an update?
-
12now that's really silly! why on earth would apple allow us to download separate bundles? it's much better to just get the whole thing in one piece with assurance of no issues! after all, those who can't download 1gb in few minutes are not going to be able to develop for iPhone anyway. – cregox Nov 03 '10 at 14:11
-
3@Cawas The App Store is supposed to have low barriers to entry. Not all of use who develop for the iPhone have a T1 line. – LandonSchropp Mar 10 '11 at 04:19
-
1@helixed sorry, I forgot to close my *sarcasm* snippet there. ;) – cregox Mar 10 '11 at 14:21
-
216k Views means, this is not a silly question :) – Sameera Chathuranga May 21 '12 at 09:17
-
Is there any reason (licensing/T&Cs) that we can't provide a link to download the SDK if we wished, separately of Apple? Some of our clients are asking for it and not sure if we're allowed to? – Michael Dec 10 '12 at 02:55
6 Answers
As far as I understand you cannot download the SDK separately - and even if you could, I wouldn't recommend it. Using the bundled SDK+Xcode release is the best idea in my opinion, as it will be working for you out of the box. I know it's annoying having to download such a large amount of data for an SDK (not all of us have 100mbps pipes to play with!) but for ease of development, it's the way I'd recommend you go.

- 20,661
- 6
- 33
- 39

- 4,946
- 3
- 27
- 39
-
4Thanks. You would think they would provide a way in X-Code to download just the SDK, it's such a big file especially for us in Australia with usage caps. – Graeme Mar 30 '10 at 08:18
-
2Add flaky internet access (from South Africa) and you have a recipe for a very expensive download. – Frank Shearar Mar 30 '10 at 08:47
-
1It's true. I created a radar for this problem, and even Michael Jurewitz acknowledges the fact that people want an "auto update" function in Xcode. No idea if it'll happen though. – Jasarien Mar 30 '10 at 13:54
-
1with respect to some of the developers at apple, but i think there's more than one weirdo over there. But it could be a way for them to recover from serious errors in previous sdks, and force their policies of dumping old sdk and stop compatibility with them. It's weird but that's their spirit, everything is simple to them. – LolaRun Mar 04 '11 at 09:00
-
I think the issue is that Apple include the Xcode update in Software Updates, which is entirely redundant if you then want to add the iOS SDK. What's difficult about having a version check? It would save us poor souls 400+ MB :( – Dave R. Mar 28 '11 at 00:02
-
Apple, among a growing number of others, assumes that you have a wide pipe and no cap. Pheh. And they're based in a country that has now slipped to 27th in the world for broadband access. – mpemburn Mar 15 '12 at 14:32
For those who have installed Xcode but do not have the iOS SDK, here is the way to download it without re-downloading Xcode: Got to
Xcode > Preferences > Downloads
and select whatever you want to install.

- 2,272
- 23
- 25
-
1Is it only in Xcode 4+? I dont see Downloads tab in Preferences. I am using Xcode 3.2. – Jacob Dam May 25 '12 at 09:10
-
4Are you sure you can install an iOS SDK from there? I only see the command-line tools and the simulators, as shown in this screenshot from another SO question: http://i.stack.imgur.com/UXWMU.png – Gallaecio Mar 20 '13 at 13:37
-
Yes that's the case with me too. I use XCode 6.3.2 and it also, in the above said way you can't download and configure it to use the SDKs we need. Currently it has iOS 8.1 but what I need is iOS 7 and 7.1 :( – Randika Vishman Sep 09 '15 at 17:45
Yes, contrary to what others say this is somewhat possible.
Method One
With this method you can download any iOS or OSX SDK and install it to XCode. Download the desired SDK, bundled with XCode, from developer.apple.com/downloads
Once the package is done downloading mount the disk image. Right on the XCode application in the image and click on Show Package Contents. Navigate to:
/Contents/Developer/Platforms/
the iOS SDKs are in:
iPhoneOS.platform/Developer/SDKs/
the OSX SDKs are in:
MacOSX.platform/Developer/SDKs/
and the iOS simulator SDKs are in:
iPhoneSimulator.platform/Developer/SDKs/
To install one of the SDKs simply find XCode.app and place the SDK in the appropriate folder of the XCode.app package.
Method Two
With this method you can only dowload iOS simulators and iOS simulator SDKs.
Open XCode and in the menu bar click on XCode > Preferences. In the preferences dialog select the downloads tab and select the simulators you would like to dowload.
-
3Method One doesn't work with XCode Version 6.1; I was trying to use SDK version 8.3 without upgrading XCode (which in turn requires an operating system update). – pongi Apr 13 '15 at 12:19
-
They quite often include fixes and updates in the bundled version of xcode. I guess this is a good way for them to "force" people to use the latest point release of xcode.

- 4,422
- 2
- 27
- 25
The answer to the question being asked is, I think, that it is not possible. However, there is a highly related question (with a more interesting answer), how to use different/nonresident iOS SDKs with a particular version of Xcode? This does require downloading some other Xcode (to gain access to some other iOS SDK).
This issue has been a passion of mine for approximately the last 10 years, since I enjoy the stability of (or, at least, predictability of known misbehaviors in) a familiar IDE (i.e. Xcode) version. I last investigated the solution to this issue 3 years ago, and it was slightly more involved than the solution from 5 or so years before that. Here are my notes, from 2017:
SDK
- What the development environment treats as the target device, e.g. compilation, IDE behaviors like displaying interface definitions/headers and code completion).
- The "Base SDK" (in the "Build Settings" of a target in a project, which is possibly contained by a workspace) setting defaults to "Latest iOS", which resolves to a specific iOS version based on the contents of the Xcode app package directory
<app-package>/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
- A version of the Xcode application will ship (via Mac App Store or a disk image from developer.apple.com) with only one SDK. The above path will contain a directory named iPhoneOS.sdk and an alias (symbolic link) targeting this directory that is named according to the SDK version (iPhoneOS10.0.sdk -> iPhoneOS.sdk)
- No application-provided means (i.e. preference of other UI affordance) for altering this characteristic.
- While the plural form of the directory name (SDKs) seems like a vexing/mocking choice, you can modify the contents of this intra-app-package directory to include symbolic links to SDKs contained in other versions of Xcode.
- This appears to only work in the forward direction, i.e. using a newer SDK in an older Xcode (e.g. iOS 10 SDK in Xcode 7). This direction has always met my historical needs. Only recently have I attempted to go backwards (make a newer Xcode use an older SDK, e.g. iOS 8.4 SDK in Xcode 7), and I discovered that recent Xcode installs (versions 8.0 and 7.3.1 on a 10.11.6 system) ignore symbolic links to older SDKs (i.e. they do not appear in a target's Base SDK popup menu – screen shot of Xcode 7.3.1 ignoring the iOS 8.4 SDK symlink).
- UPDATE (new details): I double-checked my home machine (which I had used for additional multi-SDK experiments) and found that older SDKs do appear in the Base SDK popup. Mysterious! This is a 10.10.5 system, running Xcode 7.2.1 (which ships with iOS 9.2 SDK), editing a different (non-iovation) Xcode project, and the iOS 8.2 SDK (from Xcode 6.2) will display in the popup. Obviously, there are numerous differences between the setup, and I have no idea which variables cause the difference in behavior.
- MYSTERY SOLVED: Recent Xcode installs (the aforementioned versions 8.0 and 7.3.1) include a
MinimumSDKVersion
key in the…/iPhoneOS.platform/Info.plist
file. This key appears to be set to the SDK that ships with Xcode (i.e. inside the app package), and, consequently, blocks Xcode from recognizing older SDKs. I was first keyed onto this minimum-version mechanism from the xcodebuild command-line tool, which was printing out, "Skipped SDK <sdk-path>; its version (8.4) is below required minimum (10.0) for the iphoneos platform.
" - Editing
MinimumSDKVersion
plist key (e.g. making it 8.0) allows for the display and selection of older SDKs!
- MYSTERY SOLVED: Recent Xcode installs (the aforementioned versions 8.0 and 7.3.1) include a
- UPDATE (new details): I double-checked my home machine (which I had used for additional multi-SDK experiments) and found that older SDKs do appear in the Base SDK popup. Mysterious! This is a 10.10.5 system, running Xcode 7.2.1 (which ships with iOS 9.2 SDK), editing a different (non-iovation) Xcode project, and the iOS 8.2 SDK (from Xcode 6.2) will display in the popup. Obviously, there are numerous differences between the setup, and I have no idea which variables cause the difference in behavior.
- The fact that Apple rigidly binds SDK version to Xcode version has always bothered me. Oftentimes, I would prefer to add an SDK to an existing Xcode install, rather than updating the entire Xcode environment simply to gain support for a new version of iOS. Admittedly, bringing everything along in lock-step fashion (app, tools, device and OS support) does seem like it should simplify support issues for Apple, and, perhaps, they believe this conjoined progression also simplifies things for 3rd party devs (no options to fret over, just update the app).

- 21
- 2