The Xcode download, available from http://developer.apple.com/downloads , contains packages that return before 4.0. I recently got into the same problem and was able to determine that:
- Starting with version 4.1 (perhaps earlier - still awaiting download for Xcode 3.2.3 and SDK 4.0.1), packages contain subpackages called fairly similar
- Despite the packageβs internal name, it seems that the real iOS SDK will be included for the version mentioned in the main DMG file. For example, xcode_3.2.5_and_ios_sdk_4.2_final.dmg may contain what appears to be an SDK for a version group, but the iOS SDK is fully enabled only for 4.2.
- I was able to access the files 4.1, 4.2 and 4.3 by downloading the DMC Xcode installers, viewing the package contents and running the corresponding iPhoneSDK4_X.pkg installer.
- After installation, I had to copy the material that it fell from /Platforms/iPhoneOS.platform/ to a new location on /Developer/Platforms/iPhoneOS.platform.
- In addition to the iPhoneOS SDK, I also made sure that the iPhoneSimulator.platform stuff was there. It seems to me that Xcode handles most of the device support for debugging.
Hope this helps! The hard part for me was understanding that the names of the packages may be the same, but the content may be different. It seems that each download includes one full SDK.
Once I did this, I was able to change the base SDK in Xcode and build against the target SDK.
Hurrah!
PS: After adding additional SDKs, you will most likely see additional destinations displayed in the list of schemes with identical device names for physical devices. This made me crap, since each of them is associated with one of the SDKs, but the SDK version is not listed. Itβs not bad when you find out what is usually a symptom, which is an unsuccessful assembly, as it targets another SDK based on which physical device is selected. More info in this post: duplicate device schema in xcode 4
source share