Vérificateur de binaire universel
Collez ce que lipo ou file affichent pour votre app. Le texte est lu ici même, sur cette page, et rien n'est envoyé nulle part.
Essayez un exemple :
Ce qu'il fait
Le code d'une app Mac peut contenir une ou plusieurs architectures : arm64 pour Apple silicon et x86_64 pour Intel. Un fichier qui contient les deux est un binaire universel. Cet outil lit le texte qu'affichent lipo ou file, y repère les noms d'architecture et vous dit sur quels Mac chaque partie fonctionne. Si vous collez plusieurs parties d'une même app, il indique aussi si l'app dans son ensemble est universelle, car un seul helper ou framework compilé pour une seule architecture suffit à l'empêcher.
Commandes à lancer
lipo -archs YourApp.app/Contents/MacOS/YourApp file YourApp.app/Contents/MacOS/YourApp
Pour vérifier d'un coup toutes les parties exécutables du bundle, y compris les frameworks et les helpers :
find YourApp.app/Contents -type f -perm +111 -exec file {} +Exécutez ceci sur le build exact que vous livrez, pas sur un build de débogage, qui peut ne contenir que l'architecture du Mac sur lequel vous l'avez compilé.
Ce que signifie chaque résultat
| Résultat | Ce que cela signifie |
|---|---|
| Universel | Contient arm64 et x86_64. Fonctionne nativement sur les Mac Apple silicon et Intel. |
| Apple silicon uniquement | Contient seulement arm64. Elle ne s'ouvrira pas sur un Mac Intel, alors dites-le sur votre site. |
| Intel uniquement | Contient seulement x86_64. Sur Apple silicon, elle a besoin de Rosetta 2, et Apple a indiqué que la prise en charge générale de Rosetta 2 pour les apps prend fin après macOS 27. |
| Ne fonctionnera pas | Seulement du code i386 ou PowerPC. macOS n'exécute plus d'apps 32 bits depuis Catalina. |
Sources : Apple Developer, Building a universal macOS binary, et MacRumors sur la fin de la prise en charge de Rosetta 2, toutes deux consultées le 3 novembre 2026.
Comment ça marche
Ce sont quelques règles de texte simples exécutées sur cette page. Il connaît les sorties de lipo -archs, lipo -info, lipo -detailed_info et file, ainsi que les noms arm64, arm64e, x86_64, x86_64h, i386 et PowerPC. S'il n'en trouve aucun, il dit qu'il ne reconnaît pas le texte au lieu de deviner. Il lit uniquement du texte, donc il ne peut pas savoir si le code à l'intérieur fonctionne vraiment.
Questions
Comment savoir si une app Mac est universelle ?
Exécutez lipo -archs sur le binaire à l'intérieur de l'app, dans Contents/MacOS. S'il liste arm64 et x86_64, il est universel. Vous pouvez aussi sélectionner l'app dans le Finder, choisir Get Info et lire Kind.
Mon binaire principal est universel. Mon app l'est-elle ?
Pas toujours. Chaque framework, helper et plug-in à l'intérieur du bundle a besoin des mêmes architectures. Collez la sortie de file pour tous afin de vérifier.
Les apps réservées à Intel continueront-elles de fonctionner sur Apple silicon ?
Pour l'instant, via Rosetta 2. Apple a indiqué que la prise en charge générale de Rosetta 2 pour les apps prend fin après macOS 27, avec une exception limitée pour certains anciens jeux.
Ce que je colle est-il envoyé quelque part ?
Non. Le texte est lu sur cette page et rien n'est envoyé.