ユニバーサルバイナリチェッカー
アプリに対してlipoまたはfileが出力した内容を貼り付けてください。このページ上でそのまま読み取られ、どこにも送信されません。
例を試す:
機能
Macアプリのコードには、1つ以上のアーキテクチャを含められます。Apple silicon用のarm64と、Intel用のx86_64です。両方を含むファイルがユニバーサルバイナリです。このツールはlipoやfileが出力するテキストを読み取り、その中のアーキテクチャ名を見つけて、各部分がどのMacで動くかを伝えます。1つのアプリの複数の部分を貼り付けると、アプリ全体がユニバーサルかどうかも分かります。1つのアーキテクチャだけでビルドされたヘルパーやフレームワークが1つあるだけで、ユニバーサルではなくなるためです。
実行するコマンド
lipo -archs YourApp.app/Contents/MacOS/YourApp file YourApp.app/Contents/MacOS/YourApp
フレームワークやヘルパーを含め、バンドル内のすべての実行可能な部分を一度に確認するには:
find YourApp.app/Contents -type f -perm +111 -exec file {} +実際に配布するビルドで実行してください。デバッグビルドは、ビルドしたMacのアーキテクチャしか含まない場合があります。
各結果の意味
| 結果 | 意味 |
|---|---|
| ユニバーサル | arm64とx86_64の両方があります。Apple siliconのMacでもIntel Macでもネイティブで動きます。 |
| Apple siliconのみ | arm64のみです。Intel Macでは開けないので、サイトにそう書いておきましょう。 |
| Intelのみ | x86_64のみです。Apple siliconではRosetta 2が必要で、Appleは、アプリに対する一般的なRosetta 2のサポートはmacOS 27で終了すると述べています。 |
| 動きません | i386またはPowerPCのコードのみです。macOSはCatalina以降、32ビットのアプリを実行していません。 |
出典: Apple Developer, Building a universal macOS binaryと、Rosetta 2サポート終了に関するMacRumors。どちらも2026年11月3日に確認しました。
仕組み
このページ上で動く、いくつかのシンプルなテキストルールです。lipo -archs、lipo -info、lipo -detailed_info、fileの出力と、arm64、arm64e、x86_64、x86_64h、i386、PowerPCという名前を知っています。どれも見つからない場合は、推測せずにテキストを認識できないと伝えます。読むのはテキストだけなので、中のコードが本当に動くかどうかは分かりません。
質問
Macアプリがユニバーサルかどうか、どうすれば分かりますか?
アプリ内のContents/MacOSにあるバイナリに対してlipo -archsを実行してください。arm64とx86_64の両方が表示されればユニバーサルです。FinderでアプリのGet Infoを開いて「種類」を見ることもできます。
メインのバイナリはユニバーサルです。アプリもそうですか?
常にそうとは限りません。バンドル内のすべてのフレームワーク、ヘルパー、プラグインに同じアーキテクチャが必要です。確認するには、それらすべてのfileの出力を貼り付けてください。
Intel専用のアプリはApple siliconでも動き続けますか?
今のところはRosetta 2経由です。Appleは、アプリに対する一般的なRosetta 2のサポートはmacOS 27で終了し、一部の古いゲームには限定的な例外があると述べています。
貼り付けた内容はどこかに送信されますか?
いいえ。テキストはこのページ上で読み取られ、何も送信されません。