cocoa - 检测应用程序正在使用什么框架

标签 cocoa macos macos-carbon

我正在寻找检测应用程序正在使用的框架的方法。

例如,假设某个 XYZ 应用程序使用 Carbon 框架和 Cocoa 框架,那么我的程序应该能够检测到该 XYZ 应用程序使用 Carbon 框架和 Cocoa 框架。

任何帮助将不胜感激。

谢谢, 拉胡尔

最佳答案

最简单的方法是在应用程序二进制文件上运行otool -L。例如,

$ otool -L /Applications/Twitter.app/Contents/MacOS/Twitter | grep Frameworks
    /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 15.0.0)
    /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.6.2)
    /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 37594.0.0)
    /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)
    /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit (compatibility version 1.0.0, current version 533.16.0)
    /System/Library/Frameworks/CoreLocation.framework/Versions/A/CoreLocation (compatibility version 1.0.0, current version 12.0.0)
    @executable_path/../Frameworks/Growl.framework/Versions/A/Growl (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.29.0)
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 38.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 751.29.0)
    /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1038.32.0)

如果您由于某种原因无法运行 otool,您可以随时阅读 its source code并按照its licence使用它.

关于cocoa - 检测应用程序正在使用什么框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4895713/

相关文章:

c++ - 有没有办法获取我的 C++ 应用程序的进程 ID?

swift - 基于 View 的 NSTableView 不显示单元格内容

objective-c - 向 NSRunAlertPanel 的按钮添加操作

cocoa - NSFontManager addFontTrait 如何更改 UI 元素上的实际字体

objective-c - 获取 Cocoa 中文件的类型

macos - 在 Mac OS X Maverick 上安装/编译 NASM 包

ios - 将字节转换为字符串不起作用

objective-c - 制作 .webloc 文件

objective-c - 从根模式获取当前用户?

iphone - iOS - 以圆形排列 subview