• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: The best way to call Cocoa methods not implemented in previous versions of the SDK?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

  • Follow-Ups:
    • Re: The best way to call Cocoa methods not implemented in previous versions of the SDK?
      • From: "email@hidden" <email@hidden>
References: 
 >The best way to call Cocoa methods not implemented in previous versions of the SDK? (From: Oleg Krupnov <email@hidden>)
 >Re: The best way to call Cocoa methods not implemented in previous versions of the SDK? (From: Quincey Morris <email@hidden>)
 >Re: The best way to call Cocoa methods not implemented in previous versions of the SDK? (From: Jens Alfke <email@hidden>)
 >Re: The best way to call Cocoa methods not implemented in previous versions of the SDK? (From: "email@hidden" <email@hidden>)

  • Prev by Date: Re: KVO on objects in NSArrayController
  • Next by Date: Re: The best way to call Cocoa methods not implemented in previous versions of the SDK?
  • Previous by thread: Re: The best way to call Cocoa methods not implemented in previous versions of the SDK?
  • Next by thread: Re: The best way to call Cocoa methods not implemented in previous versions of the SDK?
  • Index(es):
    • Date
    • Thread