Rosetta 2が消える前に、Macの中のIntelをコマンドで棚卸しした

macOS
この記事は約10分で読めます。

2026年7月、macOS 27「Golden Gate」のパブリックベータが今月やってきます。このバージョンでApple SiliconではないMacは切られ、そして Rosetta 2 が提供される最後のmacOS でもあります。AAPL Ch.の記事によれば、次の macOS 28 では、Intelベースのフレームワークに依存する一部の古いゲームを除き、Intelアプリは動かなくなります。時期は2027年末とされていて、まだ猶予はあります。

Intel MacとRosetta 2が消えるまでのタイムライン

猶予はあるのですが、厄介なのは 「今ちゃんと動いているアプリが、実はIntel専用かどうか」は見た目では分からない ことです。Rosetta 2 がある今は、Intelアプリも黙って動いてしまう。だから期限が来て初めて気づく、という取りこぼしが起きます。

先に、やることだけ書きます。

  • 1本のアプリを見る: lipo -archs /Applications/アプリ名.app/Contents/MacOS/実行ファイル名arm64 が含まれていればネイティブ、x86_64 だけならIntel専用。
  • まとめて見る: system_profiler SPApplicationsDataType に各アプリの「種類(Apple Silicon / Intel / ユニバーサル)」が出る。ここからIntelだけ拾う。
  • コマンドが苦手なら: GUIの Rosetta Check でアプリを一覧判定できる。
  • 見つけたら: ネイティブ版へ更新するか、代替アプリへ乗り換える。

以下は、私が実際に自分のTahoe機で棚卸ししたときの手順と、途中で気づいた落とし穴です。

第一部: 素朴に確認して、取りこぼした話

アプリが動く=ネイティブ、ではない

最初は「起動して普通に使えているんだから、たぶん大丈夫だろう」と思っていました。これが間違いです。Rosetta 2 は裏でIntelコードをその場で変換していて、ユーザーからは境目が見えない。動いていることは、ネイティブである証拠になりません。 期限まで気づけない典型がこれです。

本体はUniversalでも、中だけIntelのことがある

もうひとつ気になったのが、アプリ本体はApple Silicon対応でも、内部のプラグインやヘルパー、フレームワークだけがIntelのまま というケースです。個人ブログのカスタム/CUSTOM/でいこうでは、Rosetta Checkで調べたら本体ではなく内部コンポーネントの一部がIntelベースと表示された、という報告がありました。PhotoshopやPro Tools、Logic Proのようにプラグインを積むアプリで起きやすいとされます。

気になったので、手元のUniversalアプリを何本か中まで掘ってみました。結果は第二部に載せますが、内部までクリーンなアプリもあれば、本体はネイティブなのに裏方のツールやカーネル拡張だけがIntelで残っているアプリもありました。「種類: ユニバーサル」という表示だけでは足りず、確認は アプリ単位ではなくバイナリ単位 で、しかも 中身まで 見ないと取りこぼす、というのがここの学びです。

空欄は「Intel」ではない

もう一つ、やって初めて分かった罠があります。一括で洗い出すと、Google ドキュメントやスプレッドシートのような Webアプリのショートカットは、アーキテクチャが空欄で出ます。これはIntelではなく、そもそもMach-Oの実行ファイルを持たないからです。Intel専用だけを抜き出すつもりで空欄を除外しないと、これらが紛れ込みます。ここは後で対策込みのコマンドを載せます。

第二部: コマンドで棚卸しする

棚卸しの流れ(一覧→判定→中を掘る→対応)

file と lipo で1本を判定する

まず対象のアプリの実行ファイルに file をかけます。

Mach-O 64-bit executable arm64 ならネイティブ、x86_64 だけならIntel専用、universal binary with 2 architectures なら両対応です。アーキテクチャだけを手早く見たいなら lipo が読みやすい。

出力が arm64 だけならネイティブ、x86_64 だけなら要対応、x86_64 arm64 ならUniversalです。下の図がその3パターンの早見になります。

lipo -archs の結果3パターンと対応

実行中にRosettaで動いているものを見る

すでに起動しているプロセスがRosettaで走っているかは、アクティビティモニタの「種類」列で分かります。Intel と表示されていれば、それは変換されて動いています。

アクティビティモニタの「種類(Kind)」列でIntelが見える状態

ターミナルなら、自分のシェルが変換下にあるかを次で確認できます。

arch -arm64 /Applications/アプリ名.app/Contents/MacOS/実行ファイル名 で起動を試して、弾かれるならネイティブでは動けない、という判定にも使えます。

/Applications をまとめて洗い出す

一本ずつでは日が暮れるので、一覧で見ます。いちばん手軽なのは system_profiler です。

各アプリに「種類: Apple Silicon / Intel / ユニバーサル」が付くので、Intelのものだけを前後の行ごと引っ張れます。英語環境なら Kind: Intel に読み替えてください。より確実にバイナリを見たいなら、lipo で全アプリを回して arm64 を含まないものだけ出します。アプリ名と実行ファイル名がずれることがあるので、Info.plistCFBundleExecutable から実行ファイルを引きます。

*arm64*|"" の一行で、arm64を含むものと、実行ファイルを持たない空欄(さっきのWebアプリ)をまとめて外しています。ひとつ実地の注意で、この手のスクリプトを対話中のzshに貼るとき、行内に日本語の # コメントを混ぜると parse error になります。zshの対話シェルは既定でコメントを解釈しないためで、setopt interactive_comments を打つか、コメントを消してから貼ってください。私はこれで一度落としました。

実際に自分のMacで回すと、インストール済みのアプリはほとんどがarm64ネイティブで、Intel専用(x86_64のみ)だったのは次の4本だけ でした。

lipo一括棚卸しのターミナル出力

いちばん皮肉だったのが Uni Detector です。アプリがApple Silicon / Intel / Universal のどれかを調べる、まさにこの記事でやっていることを担うチェッカーなのに、そのチェッカー自身がIntel専用でした。macOS 28では、アーキテクチャを確かめる古い道具のほうが先に動かなくなる。一方、新しい Rosetta Check はarm64ネイティブで入っていて、道具の世代交代がそのまま出ていました。

ついでに前に書いたMountain Duckを見たら x86_64 arm64 のUniversalで、本体はApple Silicon時代を越えられる側でした。

中まで掘る

本体がUniversalでも内部にIntelが残っていないか、アプリ内の全Mach-Oを走査して確かめます。

Universalの代表としてDropboxにかけたら、何も出ませんでした。内部のヘルパーやフレームワークまで全部arm64で、掘ってもクリーン。ところがParallels Desktopで同じことをすると、様子が違いました。

Parallelsのfind出力のターミナル

Parallels:本体はUniversalでも中身はIntel

Parallels Desktopの本体は、第二部の一覧では x86_64 arm64 のUniversalでした。ネイティブ側に見えます。なのに中を掘ると、仮想ディスクを扱う prl_disk_toolprl_convert、内部ライブラリの libMonitor.dylib、そして prl_hypervisor.kext というカーネル拡張までがx86_64専用でした。本体はApple Silicon対応でも、実際に手を動かす裏方がIntelのまま残っている。これが第一部で書いた「中だけIntel」の実物です。

つまり、アプリ一覧の「種類: ユニバーサル」だけを見て安心はできません。Dropboxのように内部までネイティブなアプリもあれば、Parallelsのように裏方だけIntelが残るアプリもある。この層はアプリ単位のチェックでは絶対に出てこないので、心当たりのあるアプリは find で一度掘っておくと安心です。

GUIで照合するなら Rosetta Check

コマンドが面倒、あるいはCLIの結果を裏取りしたいなら、Rosetta Check というアプリがあります。AAPL Ch.によると、開発者はMicrosoftでIntune開発に携わるNeil Johnson氏。アプリのフレームワークを調べて Apple Silicon / Intel / Universal Binary のどれかを一覧化し、Intelアプリには代替をAIで提案する機能まで付きます。要件はmacOS 13 Ventura以降のApple Silicon Macで、日本語にもローカライズ済みです。

Rosetta Checkの一覧画面

CLIとの使い分けはこうです。lipofind を組み合わせれば内部まで正確に見られますが、アプリごとに一本ずつ回すのは骨が折れる。Rosetta Checkは、その 内部の層まで含めて一覧でまとめて拾ってくれる のが強みで、手数が段違いです。私のように4本しか出ないと分かっている場合はCLIで十分ですが、心当たりが多い人は、まずRosetta Checkで全体を眺めてから、気になったものをCLIで裏取りする順番が速いです。

ひとつ注意です。価格は変わります。 AAPL Ch.の掲載時点では2026年6月末まで無料という案内でしたが、これはもう過ぎているので、導入前に現在の価格を確認してください。余談ですが、Universal Binaryチェッカーとしては古参のUni Detectorもあり、こちらはPPCまで見られる代わりに、ここ数年更新が止まっているようです。

見つけたあとにやること

x86_64専用だと分かったら、順番はこうです。まず開発元がApple Silicon版を出していないか確認して更新する。出ていなければ代替アプリへ移る。放置が長いアプリほどネイティブ対応は期待しにくいので、早めに代替の当たりを付けておくほうが安全です。ちなみにGoogleが公開を終了したAndroid File TransferはApple Silicon非対応で、こういう「もう更新されない」ものは代替一択になります。

macOS 27 のパブリックベータは今月配信、正式版は今秋。Rosetta 2 がまるごと外れるのはその次のmacOS 28で、予定は2027年末です。


参考: AAPL Ch.(Rosetta Check / Rosetta 2)、Apple サポート「Appleシリコン搭載のMacでIntelベースのアプリを使用する」、rosettacheck.com

macOS
この記事を書いた人
rapls

WordPressのプラグインを作っているフリーランスエンジニアです。Web開発はもう6年以上。WordPress.orgで Rapls AI Chatbot、Thanks Mail for Stripe、Rapls PDF Image Creator の3本を公開し、保守を続けながら、日本語ロケールの翻訳エディター(PTE)も務めています。このブログに書くのは、現場で自分が実際にハマって、調べて、直した話です。

raplsをフォローする
raplsをフォローする

コメント

タイトルとURLをコピーしました