題:
我如何找出哪些Mac應用程序是32位的?
Thunderforge
2017-07-08 05:48:25 UTC
view on stackexchange narkive permalink

2017年6月28日,蘋果宣布

macOS High Sierra將是最後一個毫不妥協地支持32位應用程序的macOS版本。

如何確定Mac上的哪些應用是32位的,以便可以查看是否需要升級它們?

他們將要製作自己的64位視頻卡嗎?
確切地說,“ @Physics-Compute”是指“ 64位視頻卡”是什麼意思?我假設您指的是內存帶寬?這與處理器的位數或操作系統的支持無關。在64位操作系統上不需要64位視頻卡;實際上,64位視頻卡在32位OS上可以正常工作(當然,對於應用程序而言*並非如此)。
我假設@CodyGray是指它支持DMA操作的地址位數。如果您擁有的內存超出了32位可尋址的範圍,並且為DMA分配了一個緩衝區,則需要告知32位硬件部分,這是一個問題。
抱歉,我更確切地說是64位驅動程序。圖形驅動程序不是壓倒性的32位,這也使所有使用它們的進程也必須為32位模式嗎?今天通常是64位的進程需要將IPC與32位進程一起使用才能與32位視頻卡驅動程序對話。如果視頻卡製造商沒有製造64位驅動程序,那麼不允許32位驅動程序或進程似乎是一個問題,不是嗎?
相關:https://apple.stackexchange.com/q/96543/24330
視頻驅動程序不可能是32位的,因為64位內核無法加載/使用32位驅動程序。視頻卡製造商已經生產了64位驅動程序已有一段時間了,他們也必須在其他操作系統上進行此操作,因此這並不是一個瘋狂的主張。驅動程序將處理kasperd談論的DMA問題,因此這也不是問題。
六 答案:
klanomath
2017-07-08 06:41:01 UTC
view on stackexchange narkive permalink

在Finder中,按 cmd kbd> F kbd>以獲得搜索窗口。

  • 選擇搜索:此Mac
  • 點擊第一個搜索條件,然後選擇“ Other ... ”,然後在此處選擇“ 可執行體系結構”“ ”“ i386
  • 單擊+按鈕並添加第二個條件“ 可執行體系結構”“ 不是”“ x86_64

    enter image description here

,您將獲得所有僅i386(即32位)應用程序的列表。


在終端中,此操作可通過以下方式完成:

  mdfind“((kMDItemExecutableArchitectures =='i386')&&(kMDItemExecutableArchitectures!='x86_64')”“
 
對於我來說,奇怪的是,這種方法會提取幾年前的一些PDF文件,例如“ Welcome to Leopard”。否則似乎工作正常。
@Thunderforge“ Welcome to Leopard”不是.pdf而是應用程序IIRC,當您打開它時,它會選擇您的語言pdf並在Preview中打開它。
@Manuel有趣!它帶有PDF圖標的事實讓我大吃一驚。我什至沒有想到它實際上是為您選擇PDF的應用程序。
我只是注意到這種方法在`〜/ Library / Application Support`中找不到應用程序,例如Steam遊戲。另一個解決方案可以。您知道是否有任何方法可以修改搜索以包括該內容嗎?
終端版本@Thunderforge確實可以找到Steam遊戲。
Monomeeth
2017-07-08 06:10:03 UTC
view on stackexchange narkive permalink

一種識別仍在使用的32位應用程序的方法是使用“關於本機”下的“系統信息”選項。確切步驟因您所運行的macOS版本而異,但以下是您可以根據自己的情況執行的主要步驟:

  1. 單擊Apple菜單
  2. 選擇關於本機
  3. 在彈出的“關於本機”窗口中,單擊左下角的系統報告... kbd>按鈕(如果使用的是較舊的操作系統,則可能需要單擊更多信息... kbd>按鈕(位於中間底部附近)。
  4. 這將打開“系統信息”窗口(或舊版本操作系統中的“系統概述”窗口)。
  5. 在左側的側邊欄中,您將看到許多標題和子標題。
  6. 在“軟件”標題(向下第3個)下,您會看到一個標有“應用程序”的子標題。點擊這個。
  7. 在右側窗口的主要部分,您將看到出現的應用程序列表。 要有耐心,因為這可能需要一段時間才能填充。
  8. 列表出現後,您將在頂部看到列標題。
  9. 最後一列標記為 64位(Intel)單擊此列標題以根據應用程序是否為64位對它們進行排序(即,它們將具有是針對每個應用列出的是)。
  10. ol>

    以下圖為例:

    enter image description here

    NOTE:在上圖中,我沒有對最後一列進行排序,因此您可以看到針對它們列出了“是”和“否”的條目。因此,在上面的示例中,您將看到iMovie v10.1.6是64位應用程序,而iMovie 9.0.9不是64位。


    Edit-如果上述步驟導致錯誤

    我看到有報告說,少數用戶在等待列表填充時收到“插件在收集此信息時沒有足夠迅速地響應” 錯誤消息。>

    如果發生這種情況,請退出系統信息應用程序(或舊版本的macOS中的System Profiler應用程序)並再次啟動,但是這次跳過步驟1至4,直接轉到您的Applications / Utilities文件夾並打開系統信息應用程序(或System Profiler應用)直接從那裡進行。打開後,請按照上面的步驟5至8進行操作。

消息“插件在收集此信息時沒有足夠迅速地響應”對我來說一直是超時的。
感謝@Josh提醒我這個答案。去年年底,我確實意識到這是一個可能的問題,但是忘記了我已經回答了這個問題!我剛剛編輯了答案,並採用了適用於大多數用戶的可能解決方法。讓我知道您是否還有問題。
直接從/ Applications / Utilities打開時,同樣的問題。
Kevin Mark
2018-04-15 00:29:14 UTC
view on stackexchange narkive permalink

據我所知,到目前為止的其他答案將在元數據索引中列出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的局限性。

Kevin Hagan
2018-04-19 15:15:34 UTC
view on stackexchange narkive permalink

這一行的終端命令會將應用程序列表收集到桌面上的文本文件中。它會在查詢中每次出現“(Intel):No”時捕獲前6行和後2行。但是,它不會深入研究已編譯的64位應用程序的32位支持二進製文件或庫。該列表範圍更廣,即使是問題,我也找不到任何能解決更深層次關注的資源。

  system_profiler SPApplicationsDataType |grep -B 6 -A 2“(Intel):否” >〜/ Desktop / 32BitAppList.txt
 
fyngyrz
2019-11-15 06:01:11 UTC
view on stackexchange narkive permalink

當您只需要檢查一個應用程序時:

文件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 的參數。

對於文件/Applications/BitTorrent.app/Contents/MacOS/BitTorrent,我得到了Mach-O可執行文件i386。這意味著什麼 ?
這意味著該應用程序是32位可執行文件。這意味著它將無法在Apple最新的僅64位操作系統下運行。
我找不到表格,可以在其中找到`i386`之類的東西的含義。您能添加這樣的參考嗎?
`file`命令基本上查看多種文件並嘗試識別它們。對於OSX可執行文件,您幾乎總是會看到其中的一個或多個:“ i386”,“ x86_64”和“ ppc”,它們分別是32位intel / amd架構,64位intel / amd架構和Power PC。體系結構(後者現在已經很老了。)因此,您實際上只需要關心i386(32位應用程序)和x86_64(64位應用程序)。它們之所以重要,是因為Apple放棄了對32位的支持。應用程序。
Vidur
2019-10-09 14:01:59 UTC
view on stackexchange narkive permalink

我一直保持“插件在收集此信息時沒有足夠迅速地響應”。問題,並且無法使用任何建議的方法解決。

結果是有一個名為 system_profiler 的命令行工具,提供了相同的信息。

因此,我直接去了源代碼,並編寫了一個紅寶石腳本來編譯一個列表,其中包含有關應用程序位置和安裝源(如果可用)的更多信息。

您可以在此處找到腳本。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...