|
|
oTool
You can use "otool -L" to see what an app links against.
Any app which links against AppKit+Cocoa.framework is Cocoa:
ben% otool -L /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal: /System/Library/PrivateFrameworks/AppSupport.framework/Versions/B/AppSupport (compatibility version 1.0.0, current version 52.0.0) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 7.0.0) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 16.0.0) /System/Library/PrivateFrameworks/HIServices.framework/Versions/A/HIServices (compatibility version 1.0.0, current version 64.0.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 217.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 226.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 619.0.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 423.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 55.0.0)If otool fails, like: ben% otool -L /Applications/Internet Explorer.app/Contents/MacOS/Internet Explorer /Applications/Internet Explorer.app/Contents/MacOS/Internet Explorer: is not an object fileIt is a CFM app and is obviously not Cocoa. A Carbon Mach-O app would look like: ben% otool -L /Tex-Edit Plus.app/Contents/MacOS/Tex-Edit Plus /Applications/Applications/Tex-Edit Plus 4.2.4 ƒ/Tex-Edit Plus.app/Contents/MacOS/Tex-Edit Plus: /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 122.0.0) /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 142.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 55.0.0)Note that many Cocoa apps also link Carbon: ben% otool -L /Applications/Applications/Watson.app/Contents/MacOS/Watson /Applications/Applications/Watson.app/Contents/MacOS/Watson: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 7.0.0) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 122.0.0) @executable_path/../Frameworks/GeneralTool.framework/Versions/A/GeneralTool (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/Message.framework/Versions/B/Message (compatibility version 1.0.0, current version 482.0.0) /System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling (compatibility version 1.0.0, current version 4.7.0) @executable_path/../Frameworks/CURLHandle.framework/Versions/A/CURLHandle (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 55.0.0)However, Carbon Apps *CAN* use Cocoa stuff, If they load a Cocoa bundle dynamically. It is kinda tricky, but it was demoed at WWDC 2002. Pretty cool stuff.
Re: oTool
Right, and if a Carbon app links to cocoa, you'd get the same thing ;) |
SearchFrom our Sponsor...Latest Mountain Lion HintsWhat's New:HintsNo new hintsComments last 2 daysLinks last 2 weeksNo recent new linksWhat's New in the Forums?
Hints by TopicNews from Macworld
From Our Sponsors |
|
Copyright © 2014 IDG Consumer & SMB (Privacy Policy) Contact Us All trademarks and copyrights on this page are owned by their respective owners. |
Visit other IDG sites: |
|
|
|
Created this page in 0.13 seconds |
|