On Sep 6, 2011, at 1:55 PM, jonat...@mugginsoft.com wrote: > Surely the choice of SDK normally only has an effect at build time. > 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). > The binary knows nothing about the SDK (correct me on this if I am wrong).
You are wrong :) The app binary captures the version number of the framework that it linked against. The system framework code can and does check this version and act accordingly. Thus in the AppKit/Foundation release notes you will find statements like “This behavior occurs only in apps linked against OS X 10.5 or later; in earlier apps, the previous behavior occurs, for backward compatibility”. (This may sound kludgey, but it’s sometimes the only way to fix bugs or add new functionality without breaking binary compatibility with existing apps. Breaking binary compatibility in an OS release is Very Very Bad.) —Jens_______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com