バンドルのアーキテクチャを比較し、インストーラーのマシンアーキテクチャと比較する必要があります。それらが一致する場合、インストールは続行され、そうでない場合は中止されます。マクロを使用すると、アーキテクチャを簡単に取得できます。インストールするバンドルのアーキテクチャを確認する方法があるかどうか知りたいのですが。
2 に答える
1
シェルから、あなたはすることができます
otool -hv <path to mach-o image>
画像は通常、Contents/MacOS
アプリケーションまたはVersions/Current
フレームワークにあります
于 2012-05-03T16:31:55.960 に答える
0
これにより、現在のアプリケーション(またはであると判断されたバンドルmainBundle
)がターゲットバンドルと共通のアーキテクチャを共有しているかどうかが決まります。NSBundleのexecutableArchitectures
メソッドにはMacOSX10.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 に答える