SponsorAccediInvia

← Tutti gli strumenti

Verificatore di binari universali

Incolla quello che lipo o file stampa per la tua app. Viene letto qui, in questa pagina, e non viene inviato da nessuna parte.

Verificatore di binari universali

Prova un esempio:

Che cosa fa

Il codice di un'app per Mac può contenere una o più architetture: arm64 per Apple silicon e x86_64 per Intel. Un file con entrambe è un binario universale. Questo strumento legge il testo stampato da lipo o file, trova i nomi delle architetture e ti dice su quali Mac gira ogni parte. Se incolli più parti della stessa app, dice anche se l'app nel suo insieme è universale, perché basta un helper o un framework compilato per una sola architettura per romperlo.

Comandi da eseguire

lipo -archs YourApp.app/Contents/MacOS/YourApp
file YourApp.app/Contents/MacOS/YourApp

Per controllare in una volta tutte le parti eseguibili del bundle, inclusi framework e helper:

find YourApp.app/Contents -type f -perm +111 -exec file {} +

Esegui questi comandi sulla build esatta che distribuisci, non su una build di debug, che potrebbe contenere solo l'architettura del Mac su cui l'hai compilata.

Cosa significa ogni risultato

RisultatoChe cosa significa
UniversaleHa arm64 e x86_64. Gira in modo nativo su Mac Apple silicon e Intel.
Solo Apple siliconHa solo arm64. Non si aprirà su un Mac Intel, quindi scrivilo sul tuo sito.
Solo IntelHa solo x86_64. Su Apple silicon richiede Rosetta 2, e Apple ha detto che il supporto generale a Rosetta 2 per le app finisce dopo macOS 27.
Non giraSolo codice i386 o PowerPC. macOS non esegue app a 32 bit da Catalina.

Fonti: Apple Developer, Building a universal macOS binary, e MacRumors sulla fine del supporto a Rosetta 2, entrambe lette 3 novembre 2026.

Come funziona

Sono poche semplici regole di testo che girano in questa pagina. Conosce gli output di lipo -archs, lipo -info, lipo -detailed_info e file, e i nomi arm64, arm64e, x86_64, x86_64h, i386 e PowerPC. Se non ne trova nessuno, dice che non riconosce il testo invece di tirare a indovinare. Legge solo testo, quindi non può dire se il codice all'interno funziona davvero.

Domande

Come faccio a sapere se un'app per Mac è universale?

Esegui lipo -archs sul binario dentro l'app, in Contents/MacOS. Se elenca sia arm64 sia x86_64, è universale. Puoi anche selezionare l'app nel Finder, scegliere Get Info e leggere Kind.

Il mio binario principale è universale. Lo è anche la mia app?

Non sempre. Ogni framework, helper e plug-in dentro il bundle ha bisogno delle stesse architetture. Incolla l'output di file per tutti per verificare.

Le app solo Intel continueranno a funzionare su Apple silicon?

Per ora, tramite Rosetta 2. Apple ha detto che il supporto generale a Rosetta 2 per le app finisce dopo macOS 27, con una stretta eccezione per alcuni giochi più vecchi.

Quello che incollo viene inviato da qualche parte?

No. Il testo viene letto in questa pagina e non viene inviato nulla.

Correlati