On Sep 18, 2015, at 02:02 , Dave <[email protected]> wrote:
>
> I think this must have changed in XCode 6 or 7?

Indeed, no, it’s always been like this (“always" since about OS X 10.2 or 10.3, 
when the idea of base SDKs was introduced — before that you were compiling 
against the version of OS X that was running on your development Mac).

The only changes have been in the way the base/deployment model is supported.  
For example, weak linking of frameworks (around 10.6, IIRC) made run-time 
checks a lot easier, and Swift recently introduced built-in availability checks.

In the old days, you had much more freedom to stick with older SDKs, which 
helped you avoid using newer API accidentally. Xcode used to ship with several 
historical SDKs for exactly this purpose, and sometimes you could download 
more. Currently, Apple is extremely aggressive about forcing you to move 
forward with SDKs.

This is a big, big headache if you’re using Obj-C, but (basically) no trouble 
at all if you’re using Swift. In Obj-C, if you want to use older ones, you have 
to use the older Xcode versions that support them, and to use older Xcodes, you 
often have to develop on older OS X versions.

Incidentally, it’s NOT supported to copy an old SDK into a newer Xcode that 
doesn’t already have it. This is sometimes ignored, as an ideological 
restriction rather than a technical incompatibility, but as Xcode gets ever 
more complicated the technical basis for the limitation is ever more 
compelling. Really, don’t do it.)



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to