Wednesday, March 23, 2016

How to Use the 10.9 SDK With Xcode 7.3

Felix Schwarz (via Jeff Johnson):

When Apple shipped Xcode 7, it decided to ship it only with the OS X 10.11 SDK. Unfortunately, this has since put developers of USB kernel extensions between a rock and a hard place.

[…]

In essence, that means you can still write a USB kernel extension targeting older OS X releases and it will continue to just work™ under OS X 10.11, too.

The OS X 10.11 SDK, however, lacks the needed header files for the old USB stack. And that’s why the OS X 10.9 SDK is still needed if you want to build these.

Rich Siegel:

It no longer recognizes older SDKs placed in Developer/Platforms/…/SDKs/. Working around it now by copy/link to $SRCROOT.

I had hoped that the rewritten USB stack in El Capitan would solve the problem I’ve been having with USB 3 drives spontaneously unmounting. However, that is not the case. One of my drives unmounted in the middle of a backup literally while I was reading Schwarz’s post.

4 Comments RSS · Twitter

Also figured out the same solution for old SDKs, and made a github issue at XcodeLegacy (which automates downloading them)

https://github.com/devernay/xcodelegacy/issues/23

Bryan Pietrzak

Your USB drives unmounting - any chance they are LaCie?

I work for a school district and we've had nothing but trouble with the cabling and ports on the LaCie Rugged USB 3 drives - they very quickly get very fragile where even the slightest movement will cause the cable to disconnect. And I mean slight - just bumping the table can be enough.

We've moved to WD MyPassport drives and they've been rock solid

@Bryan Not LaCie, but all of the brands I tried for 3.5-inch drives have this problem, which is why I think it’s an OS issue. I do have some 2.5-inch drives like the MyPassport, and those are fine.

Regarding Xcode 7.3, I quickly discovered this crasher.

You can also edit MinimumSDKVersion instead of deleting it — I changed mine to 10.8 when I ran into the problem. By the way, that Info.plist is covered by an "omit" resource rule, so you're not breaking Xcode's code signature by editing it, as far as I can tell. (But someone at Apple is still going to hate you and raise the stakes next time. :D)

Leave a Comment