3

Is it possible to download and build against Mac OS X 10.9 and 10.10 SDKs on OS X 10.11 using Xcode 7?

Berry Blue
  • 15,330
  • 18
  • 62
  • 113
  • 1
    Do you mean setting the target platform in your project settings? You can make your application support any version of Mac OS. – Arc676 Jan 14 '16 at 01:46
  • Sure, just set the Deployment Target and Base SDK in the Project Build Settings – Atomix Jan 14 '16 at 01:47
  • No, I need to test against the actual SDK for methods that aren't supported in them and other general behavior. I have the deployment target set to 10.9. – Berry Blue Jan 14 '16 at 02:15

1 Answers1

7

Yes it is possible, the XcodeLegacy script is a popular way to automate this.

Or you can do it manually, you need to put MacOSX10.9.sdk (or a symlink to it) into /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs. Note you'll need to replace it every time you update Xcode, so the symlink is a good idea.

Brendan Shanks
  • 3,141
  • 14
  • 13
  • Where can I find these other SDKs for download? I only have MacOSX10.11.sdk in that folder. – Berry Blue Jan 14 '16 at 16:22
  • You need to get them out of old Xcode versions, the XcodeLegacy script will download and extract them. Or download old Xcode versions from http://developer.apple.com/downloads and extract them manually. – Brendan Shanks Jan 14 '16 at 16:54
  • 3
    Or, @BerryBlue, you can get SDKs from [GitHub - phracker/MacOSX-SDKs: A collection of those pesky SDK folders: MacOSX10.1.5.sdk thru MacOSX10.11.sdk](https://github.com/phracker/MacOSX-SDKs) – leanne Jan 10 '17 at 16:35
  • 1
    If you're using TimeMachine, you can also easily reach back into previous versions of Xcode you may have installed (and deleted) to get the previous MacOS SDK folders. In my case, I simply did `open /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs` in Terminal (which opens a Finder window) and then opened Time Machine to get back to a date where the SDK I was looking for existed. – Michael Dautermann Jun 13 '17 at 05:30