Well on OS X Mavericks I have /System/Library/Frameworks/Foundation.framework/Version/C/Foundation - and I can assume tat versions A are from NeXTSTEP (possibly used in early PPC OS X too)
Also, I distribute my CGIKit framework in two versions, version F and G - versions F and G have different implementations to support different server interfaces, either Apache FastCGI or ohttpd bundle interface. On Dec 12, 2013, at 15:20, Greg Parker <gpar...@apple.com> wrote: > On Dec 11, 2013, at 10:46 PM, Maxthon Chan <xcvi...@me.com> wrote: >> Bad example - you should use the example between NeXTSTEP/Mach and OS X, >> which the identical technology, library versioning, is used. (People do you >> still remember that OS X derived from NeXTSTEP, to the extent that OS X 10.0 >> have version number 4.0, picking up where NeXTSTEP left off, and this still >> count till now like OS X 10.9 = NeXTSTEP 13?) >> >> Also, there is no need of “compatibility mode” as library versioning will >> allow that with a framework like this >> >> UIKit.framework/ >> + UIKit -> Versions/Current/UIKit >> + Headers -> Versions/Current/Herders >> + Resources -> Versions/Current/Resources >> + Versions/ >> ++ A/ >> +++ UIKit >> +++ Headers/ >> +++ Resources/ >> ++ B/ >> +++ UIKit >> +++ Headers/ >> +++ Resources/ >> ++ Current -> B >> >> The version A of UIKit library is what is shipped in iOS 6 (and before), >> almost as-is. Version B is iOS 7 UIKit that have all the new bells and >> whistles. > > UIKit does not use this versioning mechanism. I believe no framework on OS X > uses it, and the machinery may have been removed from iOS. > > Framework versioning does not scale. The problem is that any use of > versioning requires duplication across the rest of the system. Say you > created Versions/A/UIKit and Versions/B/UIKit. Any client of UIKit like > MapKit now also needs versions A and B, because it can't have just one > version that links to both UIKits. Propagate that across the rest of the > framework tree and you end up with two complete copies of every system > framework. That's bad for disk space and memory usage, if you have two apps > open that use different versions. > > Versioning might have been during NeXT's great Object->NXObject or > NXObject->NSObject overhauls. (I don't know, I wasn't there.) It has been > used approximately zero times in the OS X and iOS eras. > > > -- > Greg Parker gpar...@apple.com Runtime WRangler _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com