Re: The best way to call Cocoa methods not implemented in previous versions of the SDK?
Re: The best way to call Cocoa methods not implemented in previous versions of the SDK?
- Subject: Re: The best way to call Cocoa methods not implemented in previous versions of the SDK?
- From: Kyle Sluder <email@hidden>
- Date: Tue, 06 Sep 2011 14:11:33 -0700
On Tue, Sep 6, 2011 at 1:55 PM, email@hidden
<email@hidden> wrote:
> Surely the choice of SDK normally only has an effect at build time.
No. That's what the "linked-on-or-after" phrase in the release notes
is all about.
> My understanding is that the SDK frameworks are there to provide feedback during the linking that is performed as part of the build.
> When the app is actually run the dynamic linker links to the specified versions (A, B, C, etc) of the system frameworks as specified in the binary (see otool -l).
Framework versions haven't been used since the OpenStep days.
> The binary knows nothing about the SDK (correct me on this if I am wrong).
You are wrong. ;-)
> To me this means that a framework will make its judgement of whether to modify its internal behaviour based on introspecting the application linkage.
> This behaviour though seems to be rare and implementation details scare on the ground.
The system frameworks often check the SDK version the application
they're running within was linked against.
However, not all frameworks check in all relevant places. I've been
told of a time back in the way long ago when we were building on 10.4
against the 10.2 SDK, and using -respondsToSelector: and such to
optionally bring in 10.4 features. These 10.4-only features didn't
bother doing the linked-on-or-after check, so they were relying on
Foundation behaving in the 10.4 manner, whereas Foundation saw that we
were linked against the 10.2 SDK and was behaving in a
backwards-compatible (and forwards-incompatible) way.
--Kyle Sluder
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden