4

有没有办法以编程方式检测/确定二进制文件(与我的应用程序分开)是否已编译为 i386、x86_x64 或两者?我想有一种方法(显然),虽然我真的不知道怎么做。任何建议或建议将不胜感激,谢谢。

编辑:我在 Apple 开发者网站上找到了一个示例,尽管它是用 C 语言编写的,并且设置更多地用作命令行工具。如果有人知道如何将它实现到我的 Objective-C 代码中,那将非常有帮助。

4

2 回答 2

0

您可以包含mach-o标头并简单地加载二进制文件,然后检查mach_header. 您应该阅读 Apple 的 Mach-O 格式说明以获取更多信息,它包括您需要的一切:http: //developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html

于 2012-07-07T20:00:54.207 回答
0
- (void)checkArchitecture {

NSArray *bundleArch = [[NSBundle bundleWithPath:@"/path/to/other/bundle"] executableArchitectures];

}
于 2012-07-09T21:20:02.237 回答