executableArchitectures

executableArchitectures

我需要比较一个包的体系结构,并从安装程序将其与机器体系结构进行比较;如果它们匹配,安装将继续进行,否则将中止。
使用宏很容易获得体系结构;我想知道是否有方法检查要安装的包的体系结构。

最佳答案

这将确定当前应用程序(或任何被确定为mainBundle的包)是否与目标包共享一个公共体系结构。对于nsbundle的executableArchitectures方法,需要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
}

关于objective-c - OSX bundle 架构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10434405/

10-10 08:34