Migrating Xcode SDKs

Lots of people don’t realise that you can copy SDKs from previous versions of Xcode to newer versions and still use them.

For example, with the release of Xcode 4.5, Apple no longer ships the iOS 5.1 or Mac OS X 10.6 SDKs, but if you still need them for some reason, you can grab them from an older install. SDKs are stored in the Xcode app bundle, in Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/, Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/, and Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ - just copy them from inside your old Xcode to similar locations inside your new Xcode.

Note that this won’t give you the ability to do things like compile for armv6 or PowerPC, and it’s not a good idea to keep using the old versions of the SDK in the long run - better to switch to the newest SDK and set your deployment target appropriately to a lower OS version, but it’s useful when collaborating with others using older SDKs, or if you’re working on Mac apps that still need to use e.g. 32-bit 10.6 APIs (like QuickTime).


Are you actually able to build with the 10.6 SDK? My recollection was there is no way around an arclite linker error.

Jonathan Deutsch: Yes, it seems to be working. I’m not using ARC at all though (it’s not supported on 10.6, right?)