我需要比较一个包的体系结构,并从安装程序将其与机器体系结构进行比较;如果它们匹配,安装将继续进行,否则将中止。
使用宏很容易获得体系结构;我想知道是否有方法检查要安装的包的体系结构。
最佳答案
这将确定当前应用程序(或任何被确定为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/