在Finder中,按 cmd kbd> F kbd>以獲得搜索窗口。
單擊+按鈕並添加第二個條件“ 可執行體系結構”“ 不是”“ x86_64 ”
,您將獲得所有僅i386(即32位)應用程序的列表。
在終端中,此操作可通過以下方式完成:
mdfind“((kMDItemExecutableArchitectures =='i386')&&(kMDItemExecutableArchitectures!='x86_64')”“
一種識別仍在使用的32位應用程序的方法是使用“關於本機”下的“系統信息”選項。確切步驟因您所運行的macOS版本而異,但以下是您可以根據自己的情況執行的主要步驟:
64位(Intel)
單擊此列標題以根據應用程序是否為64位對它們進行排序(即,它們將具有是針對每個應用列出的是或否)。 以下圖為例:
NOTE:在上圖中,我沒有對最後一列進行排序,因此您可以看到針對它們列出了“是”和“否”的條目。因此,在上面的示例中,您將看到iMovie v10.1.6是64位應用程序,而iMovie 9.0.9不是64位。
Edit-如果上述步驟導致錯誤
我看到有報告說,少數用戶在等待列表填充時收到“插件在收集此信息時沒有足夠迅速地響應” 錯誤消息。>
如果發生這種情況,請退出系統信息應用程序(或舊版本的macOS中的System Profiler應用程序)並再次啟動,但是這次跳過步驟1至4,直接轉到您的Applications / Utilities文件夾並打開系統信息應用程序(或System Profiler應用)直接從那裡進行。打開後,請按照上面的步驟5至8進行操作。
據我所知,到目前為止的其他答案將在元數據索引中列出32位macOS應用程序(可能還包括一些32位二進製文件)。如果您要列出系統上的每個 僅32位可執行文件,請單行執行:
查找/ -type f -perm +111 -exec文件-p {} \;-exec頭-c 1 / dev / zero \;|xargs -0 -n 1 sh -c'echo“ $ @” |頭-n 1'-|grep -v x86_64 |grep -E Mach-O。+ i386
如果安裝了GNU findutils,則可能會大大簡化。這裡的一些複雜性是為了克服macOS中包含的BSD findutils的局限性。
這一行的終端命令會將應用程序列表收集到桌面上的文本文件中。它會在查詢中每次出現“(Intel):No”時捕獲前6行和後2行。但是,它不會深入研究已編譯的64位應用程序的32位支持二進製文件或庫。該列表範圍更廣,即使是問題,我也找不到任何能解決更深層次關注的資源。
system_profiler SPApplicationsDataType |grep -B 6 -A 2“(Intel):否” >〜/ Desktop / 32BitAppList.txt
當您只需要檢查一個應用程序時:
文件myapplication
例如,我的光線跟踪器 rt
:
== >文件rt
rt:Mach-O 64位可執行文件x86_64
== >
file
命令基本上會查看多種文件並嘗試識別它們。對於OSX可執行文件,您幾乎總是會看到其中的一個或多個:i386,x86_64和ppc分別是32位intel / amd架構,64位intel / amd架構和功能強大的PC架構(這些都已經很老了現在。)因此,您實際上只需要關心i386(32位應用程序)和x86_64(64位應用程序)。
對於打包的應用程序,應右鍵單擊並顯示打包內容。在大多數應用中,可以在 contents→macOS
下找到一個可執行文件。其路徑應用作 file
的參數。
我一直保持“插件在收集此信息時沒有足夠迅速地響應”。問題,並且無法使用任何建議的方法解決。
結果是有一個名為 system_profiler
的命令行工具,提供了相同的信息。
因此,我直接去了源代碼,並編寫了一個紅寶石腳本來編譯一個列表,其中包含有關應用程序位置和安裝源(如果可用)的更多信息。
您可以在此處找到腳本。