どのMacアプリが32ビットかを調べるにはどうすればよいですか?


28

2017年6月28日には、Appleが発表していること

macOS High Sierraは、妥協することなく32ビットアプリをサポートする最後のmacOSリリースです。

Macのどのアプリが32ビットであるかを確認して、アップグレードする必要があるかどうかを確認するにはどうすればよいですか?


1
彼らは自分の64ビットビデオカードを作るつもりですか?

2
正確には、「64ビットビデオカード」、@ Physics-Computeとはどういう意味ですか?私はあなたがメモリ帯域幅を参照していると思いますか?これは、プロセッサのビット数とは無関係であるか、オペレーティングシステムでサポートされています。64ビットOSでは64ビットビデオカードは必要ありません。実際、64ビットビデオカードは32ビットOSで正常に動作します(もちろん、アプリには当てはまりません)。
コーディグレー

1
@CodyGray DMA操作でサポートするアドレスビットの数を指していると思います。32ビットでアドレス指定できるよりも多くのメモリがあり、32ビットハードウェアに伝える必要があるDMA用のバッファを割り当てている場合、これは問題です。
カスペルド

1
申し訳ありませんが、より正確には64ビットドライバーを意味していました。グラフィックドライバーは圧倒的に32ビットではないので、それを使用するすべてのプロセスも32ビットモードにする必要がありますか?現在通常64ビットであるプロセスは、32ビットプロセスでIPCを使用して、32ビットビデオカードドライバーと通信する必要があります。ビデオカードメーカーが64ビットドライバーを作成していない場合、32ビットドライバーまたはプロセスを許可しないことは問題のようです。

1
64ビットカーネルは32ビットドライバーをロード/使用できないため、ビデオドライバーを32ビットにすることはできません。ビデオカードの製造元は、しばらくの間64ビットドライバーを製造してきましたが、他のオペレーティングシステムでもこれを行う必要があるため、まったくおかしな提案ではありません。そして、ドライバーはkasperdが話しているDMAを処理するので、これも問題ではありません。
コーディグレー

回答:


27

まだ使用している32ビットアプリを特定する1つの方法は、このMacについてのシステム情報オプションを使用することです。正確な手順は、実行しているmacOSのバージョンによって異なりますが、以下は、状況に合わせて従うことができる幅広い手順です。

  1. Appleメニューをクリックします
  2. このMacについてを選択します
  3. 表示される[このMacについて]ウィンドウでSystem Report...、左下のボタンをクリックします(古いOSを使用している場合はMore Info...、中央下部近くのボタンをクリックする必要があります)。
  4. これにより、[システム情報]ウィンドウ(または古いバージョンのOSでは[システムプロファイラー]ウィンドウ)が開きます。
  5. 左側のサイドバーには、いくつかの見出しと小見出しが表示されます。
  6. [ソフトウェア]見出し(3番目の下)の下に、[アプリケーション]というラベルの小見出しが表示されます。これをクリックしてください。
  7. 右側のウィンドウの主要部分には、アプリのリストが表示されます。これが移入するのに少し時間がかかるかもしれないので、我慢しください
  8. リストが表示されると、上部に列見出しが表示されます。
  9. 最後の列には、「64-Bit (Intel)この列の見出しをクリックしてください」というラベルが付いています。64ビットかどうかでアプリを並べ替えます(つまり、各アプリに対して[ はい]または[ いいえ]が表示されます)。

例として以下の画像を参照してください。

ここに画像の説明を入力してください

注:上記の画像では、最後の列を意図的にソートしていないため、YesとNoの両方がリストされているエントリを見ることができます。そのため、上記の例では、iMovie v10.1.6は64ビットアプリですが、iMovie 9.0.9は64ビットではありません。


編集-上記の手順でエラーが発生した場合

リストが表示されるのを待っている間に、少数のユーザーが「この情報を収集しているときにプラグインが十分に迅速に応答しませんでした」というエラーメッセージを受け取っているという報告を見ました。

これが発生した場合は、システム情報アプリ(またはmacOSの古いバージョンのシステムプロファイラーアプリ)を終了して再起動しますが、今回は手順1から4をスキップして直接アプリケーション/ユーティリティフォルダーに移動し、システム情報アプリ(またはシステムプロファイラーアプリ)から直接。開いたら、上記の手順5〜8に従います。


1
「この情報を収集している間、プラグインは十分な速さで応答しませんでした」というメッセージが表示され、タイムアウトが発生します。
JBis

この答えを思い出させてくれた@Joshに感謝します。昨年末にこれが問題になる可能性があることに気付きましたが、この質問に答えていたことを忘れていました!ほとんどのユーザーに有効な回避策を使用して、回答を編集しました。それでも問題が解決しない場合はお知らせください。
モノミース

/ Applications / Utilitiesから直接開くときの同じ問題。
JBis

27

FinderでヒットcmdFして検索ウィンドウを表示します。

  • 検索を選択:このMac
  • 最初の検索条件を見つけて「その他...」を選択し、ここで「実行可能アーキテクチャ」「Is」「i386」を選択します
  • +ボタンを押して、2番目の基準「Executable Architectures」「Is not」「x86_64」を追加します

    ここに画像の説明を入力してください

すべてのi386専用(つまり32ビット)アプリのリストが表示されます。


ターミナルでは、これを次のように実行します。

mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"

私にとって奇妙なことに、この方法は「Welcome to Leopard」のような数年前のPDFファイルをいくつか拾い上げます。それ以外の場合は正常に動作しているようです。
サンダーフォージ

3
@Thunderforge "Welcome to Leopard"は.pdfではなく、アプリIIRCです。開くと、言語pdfが選択され、プレビューで開きます。
マヌエル

@マヌエル面白い!PDFアイコンがあるという事実に私はがっかりしました。それは実際にあなたのためにPDFを選んだアプリであるということさえ私には思いませんでした。
サンダーフォージ

この方法では~/Library/Application Support、Steamゲームなどのアプリが見つかりません。他のソリューションはそうします。検索を修正してそれを含める方法があるかどうか知っていますか?
サンダーフォージ

1
@ThunderforgeターミナルバージョンはSteamゲームを見つけます。
アンドレアラザ

3

私が理解していることから、これまでのその他の回答は、メタデータインデックスに32ビットmacOSアプリ(および場合によっては32ビットバイナリ)をリストします。システム上のすべての 32ビットのみの実行可能バイナリを一覧表示する場合は、この1行を実行します。

find / -type f -perm +111 -exec file -p {} \; -exec head -c 1 /dev/zero \; | xargs -0 -n 1 sh -c 'echo "$@" | head -n 1' -- | grep -v x86_64 | grep -E Mach-O.+i386

GNU findutilsがインストールされている場合、これはおそらくかなり簡素化できます。ここでの複雑さの一部は、macOSに含まれるBSD findutilsの制限を克服することです。


3

この1行のターミナルコマンドは、アプリのリストをデスクトップ上のテキストファイルに収集します。クエリで「(Intel):No」が発生するたびに、前の6行と後の2行を取得します。ただし、既にコンパイルされた64ビットアプリの32ビットサポートバイナリまたはライブラリについては掘り下げていません。そのリストははるかに広範囲であり、問​​題であっても、より深いレベルの懸念に対処するリソースは見つかりません。

system_profiler SPApplicationsDataType | grep -B 6 -A 2 "(Intel): No" > ~/Desktop/32BitAppList.txt

2

単一のアプリケーションを確認するだけの場合:

file myapplication

たとえば、私のレイトレーサーrt

==> file rt
rt: Mach-O 64-bit executable x86_64
==>

このfileコマンドは基本的に多くの種類のファイルを調べ、それらを識別しようとします。OSX実行可能ファイルの場合、ほとんど常にこれらの1つ以上が表示されます。i386、x86_64、およびppcは、それぞれ32ビットIntel / amdアーキテクチャ、64ビットIntel / amdアーキテクチャ、およびPower PCアーキテクチャです(これらはかなり古いものです)今。)あなたは本当にi386(32ビットアプリケーション)とx86_64(64ビットアプリケーション)だけに関心を持つ必要があります。

パッケージ化されたアプリケーションの場合、右クリックして[ パッケージの内容表示 ]を選択する必要があります。ほとんどのアプリでは、contents → macOS1つの下に実行可能ファイルがあります。そのパスはの引数として使用する必要がありますfile


1
のためにfile /Applications/BitTorrent.app/Contents/MacOS/BitTorrent、私は得るMach-O executable i386。どういう意味ですか ?
ankii

これは、アプリケーションが32ビットの実行可能ファイルであることを意味します。また、Appleの最新の64ビットのみのオペレーティングシステムでは実行できないことを意味します。
fyngyrz

i386などの意味を見つけることができる表が見つかりませんでした。そのような参照を追加してください。
ankii

このfileコマンドは基本的に多くの種類のファイルを調べ、それらを識別しようとします。OSXの実行可能ファイルの場合、あなたはほとんどの場合、これらの一つ以上が表示されます:i386x86_64、およびppcそのそれぞれ32ビットのIntel / AMDのアーキテクチャ、64ビットのIntel / AMDのアーキテクチャ、およびパワーPCアーキテクチャです(後者は今かなり古いです。 )したがって、実際に気にする必要があるのはi386(32ビットアプリケーション)とx86_64(64ビットアプリケーション)だけです。重要なのは、Appleが32ビットアプリケーションのサポートをやめているためです。
fyngyrz

1

私は、「この情報を収集している間、プラグインは十分に迅速に応答しませんでした」と続けました。問題があり、提案された方法を使用して解決できませんでした。

system_profiler同じ情報を提供するコマンドラインツールがあります。

それで、私はソースにまっすぐ行き、アプリケーションがどこにあるのか、インストールのソース(利用可能な場合)についてのより多くの情報を含むリストをコンパイルするために小さなrubyスクリプトを書きました。

ここでスクリプトを見つけることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.