Come posso sapere quali app Mac sono a 32 bit?


28

Il 28 giugno, 2017, Apple ha annunciato che

macOS High Sierra sarà l'ultima versione di macOS a supportare app a 32 bit senza compromessi.

Come posso sapere quali app sul mio Mac sono a 32 bit in modo da poter vedere se devo aggiornarle?


1
Stanno creando la propria scheda video a 64 bit?

2
Cosa intendi esattamente con "scheda video a 64 bit", @ Physics-Compute? Presumo che ti riferisci alla larghezza di banda della memoria? Ciò non ha nulla a che fare con il testimone del processore o supportato dal sistema operativo. Non è necessaria una scheda video a 64 bit su un sistema operativo a 64 bit; infatti, le schede video a 64 bit funzionano bene su sistemi operativi a 32 bit (che non è , ovviamente, vale per le app).
Cody Gray l'

1
@CodyGray Suppongo che si riferisca al numero di bit di indirizzo che supporta per le operazioni DMA. È un problema se hai più memoria di quella che può essere indirizzata con 32 bit e hai allocato un buffer per DMA di cui devi dire un pezzo di hardware a 32 bit.
Kasperd,

1
Scusate, intendevo più precisamente i driver a 64 bit. I driver grafici non sono assolutamente a 32 bit, il che richiede che anche tutti i processi che li utilizzano siano in modalità 32 bit? Un processo che in genere è a 64 bit oggi deve utilizzare IPC con un processo a 32 bit per comunicare con i driver della scheda video a 32 bit. Non consentire driver o processi a 32 bit sembra un problema se i produttori di schede video non hanno creato driver a 64 bit, no?

1
I driver video non possono essere a 32 bit, in quanto un kernel a 64 bit non può caricare / utilizzare driver a 32 bit. I produttori di schede video producono driver a 64 bit da un po 'di tempo e devono farlo anche per altri sistemi operativi, quindi non è esattamente una proposta folle. E il driver gestirà le cose DMA di cui parla Kasperd, quindi anche questo non è un problema.
Cody Gray,

Risposte:


27

Un modo per identificare quali app a 32 bit stai ancora utilizzando è utilizzare l'opzione Informazioni di sistema in Informazioni su questo Mac. I passaggi esatti differiscono a seconda della versione di macOS in esecuzione, ma di seguito sono riportati i passaggi generali che dovresti essere in grado di seguire in base alle tue circostanze:

  1. Fai clic sul menu Apple
  2. Seleziona Informazioni su questo Mac
  3. Nella finestra Informazioni su questo Mac che viene visualizzata, fai clic sul System Report...pulsante in basso a sinistra (se stai utilizzando un sistema operativo precedente, potrebbe essere necessario fare clic sul More Info...pulsante in basso al centro).
  4. Questo apre la finestra Informazioni di sistema (o finestra System Profiler nelle versioni precedenti del sistema operativo).
  5. Nella barra laterale a sinistra vedrai un numero di intestazioni e sottotitoli.
  6. Sotto l'intestazione Software (è la terza in basso) vedrai una sottovoce denominata Applicazioni. Clicca su questo
  7. Nella parte principale della finestra sul lato destro verrà visualizzato un elenco di app. Sii paziente perché questo potrebbe richiedere del tempo per essere popolato.
  8. Una volta visualizzato l'elenco, vedrai le intestazioni di colonna in alto.
  9. L'ultima colonna è etichettata 64-Bit (Intel)Fai clic sull'intestazione di questa colonna per ordinare le app indipendentemente dal fatto che siano a 64 bit (ovvero avranno un o un No rispetto a ciascuna app).

Fare riferimento all'immagine seguente come esempio:

inserisci qui la descrizione dell'immagine

NOTA: Nell'immagine sopra non ho deliberatamente ordinato l'ultima colonna in modo da poter vedere le voci con un Sì e un No elencati contro di loro. Quindi, nell'esempio sopra vedrai che iMovie v10.1.6 è un'app a 64 bit mentre iMovie 9.0.9 non è a 64 bit.


Modifica: se i passaggi precedenti generano un errore

Ho visto segnalazioni che un piccolo numero di utenti sta ricevendo un messaggio di errore "Il plug-in non ha risposto abbastanza rapidamente durante la raccolta di queste informazioni" durante l'attesa per la compilazione dell'elenco.

In questo caso, esci dall'app Informazioni di sistema (o dall'app System Profiler nelle versioni precedenti di macOS) e riavvia, ma questa volta salta i passaggi da 1 a 4 e vai direttamente alla cartella Applicazioni / Utilità e apri l'app Informazioni di sistema (o Sistema App profiler) direttamente da lì. Una volta aperto, segui i passaggi da 5 a 8 sopra.


1
Per me continua a scadere con il messaggio "Il plug-in non ha risposto abbastanza rapidamente durante la raccolta di queste informazioni".
JBis

Grazie @Josh per avermi ricordato questa risposta. Mi sono reso conto alla fine dell'anno scorso che questo era un possibile problema, ma ho dimenticato di aver risposto a questa domanda! Ho appena modificato la mia risposta con una possibile soluzione alternativa che funziona per la maggior parte degli utenti. Fammi sapere se hai ancora problemi.
Monomeeth

Stesso problema quando si apre direttamente da / Applicazioni / Utilità.
JBis

27

Nel Finder clicca cmdFper ottenere una finestra di ricerca.

  • Scegli Cerca: questo Mac
  • Seleziona il primo criterio di ricerca e scegli " Altro ... " e qui " Architetture eseguibili " " È " " i386 "
  • Premi il pulsante + e aggiungi un secondo criterio " Architetture eseguibili " " Non è " " x86_64 "

    inserisci qui la descrizione dell'immagine

e otterrai un elenco di tutte le app solo i386 (ovvero a 32 bit).


Nel terminale questo viene fatto con:

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

Stranamente per me, questo metodo raccoglie alcuni file PDF di anni fa, come "Benvenuti in Leopard". Altrimenti sembra funzionare bene.
Thunderforge l'

3
@Thunderforge "Welcome to Leopard" non è un .pdf ma un'app IIRC, quando lo apri sceglie il tuo pdf della lingua e lo apre in Anteprima.
Manuel,

@Manuel Interessante! Sono stato scartato dal fatto che ha un'icona PDF. Non mi è nemmeno venuto in mente che in realtà era un'app che ha scelto un PDF per te.
Thunderforge,

Ho appena notato che questo metodo non trova app ~/Library/Application Support, come i giochi Steam. L'altra soluzione fa. Sai se esiste un modo per modificare la ricerca per includerlo?
Thunderforge il

1
@Thunderforge la versione del terminale trova i giochi Steam.
Andrea Lazzarotto,

3

Le altre risposte finora, da quello che ho capito, elencheranno le app macOS a 32 bit (e forse alcuni binari a 32 bit) nell'indice dei metadati. Se vuoi elencare ogni binario eseguibile solo a 32 bit sul tuo sistema, prova questo one-liner:

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

Se hai installato GNU findutils probabilmente questo può essere notevolmente semplificato. Parte della complessità qui è superare i limiti dei ritrovamenti di BSD inclusi in macOS.


3

Questo comando Terminale su una riga raccoglierà un elenco di app in un file di testo sul desktop. Prende le 6 righe prima e 2 righe dopo ogni occorrenza di "(Intel): No" nella query. Tuttavia, non scava nei binari o nelle librerie di supporto a 32 bit per le app a 64 bit già compilate. Tale elenco è molto più ampio e non riesco a trovare alcuna risorsa che risolva un livello più profondo di preoccupazione se si tratta anche di un problema.

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

2

Quando devi solo controllare una singola applicazione:

file myapplication

Ad esempio, il mio ray tracer rt:

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

Il filecomando fondamentalmente esamina molti tipi di file e cerca di identificarli. Per gli eseguibili OSX, vedrai quasi sempre uno o più di questi: i386, x86_64 e ppc che sono rispettivamente architetture Intel / AMD a 32 bit, architetture Intel / AMD a 64 bit e architetture Power PC (sono piuttosto vecchie ora.) Quindi devi preoccuparti solo di i386 (applicazioni a 32 bit) e x86_64 (applicazioni a 64 bit.)

Per le applicazioni in pacchetto, è necessario fare clic con il pulsante destro del mouse e Mostra contenuto pacchetto . Nella maggior parte delle app, sotto contents → macOSuna troverai un eseguibile. Il suo percorso dovrebbe essere usato come argomento per file.


1
Per file /Applications/BitTorrent.app/Contents/MacOS/BitTorrent, ho capito Mach-O executable i386. Cosa significa ?
ankii

Significa che l'applicazione è un eseguibile a 32 bit; e l'implicazione è che non sarà in grado di funzionare con i più recenti sistemi operativi a 64 bit di Apple.
fyngyrz,

Non sono riuscito a trovare la tabella in cui ho potuto trovare significati di cose come i386ecc. Potresti aggiungere un riferimento del genere, per favore?
ankii

Il filecomando fondamentalmente esamina molti tipi di file e cerca di identificarli. Per eseguibili OSX, sarà quasi sempre vedere uno o più di questi: i386, x86_64, e ppcche, rispettivamente, sono a 32-bit Intel / AMD architetture, 64-bit Intel / AMD, architetture e architetture Power PC (queste ultime sono abbastanza vecchio ormai. ) Quindi devi preoccuparti solo di i386 (applicazioni a 32 bit) e x86_64 (applicazioni a 64 bit.) L'unica ragione per cui sono importanti è perché Apple sta abbandonando il supporto per le applicazioni a 32 bit.
fyngyrz,

1

Ho continuato ad avere il "Il plug-in non ha risposto abbastanza rapidamente durante la raccolta di queste informazioni". problema e non è stato possibile risolverlo utilizzando uno dei metodi suggeriti.

Si scopre che esiste uno strumento da riga di comando chiamato system_profilerche fornisce le stesse informazioni.

Quindi sono andato direttamente alla fonte e ho scritto un piccolo script ruby ​​per compilare un elenco con maggiori informazioni su dove si trova l'applicazione e la fonte di installazione (quando disponibile).

Puoi trovare lo script qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.