我需要比较捆绑包的架构并将其与安装程序的机器架构进行比较;如果它们匹配,则安装将继续,否则它将中止。使用宏很容易获得架构;我想知道是否有一种方法可以检查要安装的捆绑包的体系结构。
问问题
280 次
2 回答
1
从外壳,你可以做
otool -hv <path to mach-o image>
图像通常在Contents/MacOS
应用程序或Versions/Current
框架中
于 2012-05-03T16:31:55.960 回答
0
这将确定当前应用程序(或确定为 的任何捆绑包mainBundle
)是否与目标捆绑包共享通用架构。executableArchitectures
NSBundle 的方法需要 Mac OS X 10.5 。
NSArray *targetArch = p[NSBundle bundleWithPath:@"/path/to/bundle.bundle"] executableArchitectures];
NSArray *thisArch = [[NSBundle mainBundle] executableArchitectures];
if ([targetArch firstObjectInCommonWithArray:thisArch])
{
// target bundle has architecture which matches current application
}
于 2012-05-03T21:12:57.090 回答