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?
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?
Risposte:
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:
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 Sì o un No rispetto a ciascuna app).Fare riferimento all'immagine seguente come esempio:
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.
Nel Finder clicca cmdFper ottenere una finestra di ricerca.
Premi il pulsante + e aggiungi un secondo criterio " Architetture eseguibili " " Non è " " x86_64 "
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')"
~/Library/Application Support
, come i giochi Steam. L'altra soluzione fa. Sai se esiste un modo per modificare la ricerca per includerlo?
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.
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
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 file
comando 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 → macOS
una troverai un eseguibile. Il suo percorso dovrebbe essere usato come argomento per file
.
file /Applications/BitTorrent.app/Contents/MacOS/BitTorrent
, ho capito Mach-O executable i386
. Cosa significa ?
i386
ecc. Potresti aggiungere un riferimento del genere, per favore?
file
comando 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 ppc
che, 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.
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_profiler
che 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 .