macOS 27 Golden Gate est sorti : ce qui change pour les développeurs
macOS 27 Golden Gate est sorti le 14 septembre 2026 sous le build 26A428, le même jour qu’iOS 27.0 et Xcode 27, et il ne s’installe que sur Apple Silicon : la liste de compatibilité d’Apple va du MacBook Air M1 de 2020 au Mac mini M6 et comprend une seule machine à puce de série A, le MacBook Neo 13 pouces doté de l’A18 Pro.12 Pour les développeurs, cette version est la dernière année où Rosetta reste un outil généraliste. L’article d’assistance d’Apple publié le même jour dit que Rosetta « is available for any Mac with Apple silicon using macOS 27 or earlier » (est disponible sur tout Mac Apple Silicon sous macOS 27 ou antérieur) et que macOS 28 ne le conserve « only for certain older, unmaintained games that rely on Intel-based frameworks » (que pour certains jeux anciens, non maintenus, qui reposent sur des frameworks Intel).3 Les notes de version de la GA comportent quatre entrées Rosetta : les apps qu’un utilisateur avait réglées sur « Open using Rosetta » se lancent en natif, Rosetta n’est pas restauré après la mise à niveau, les paquets d’installation qui ne nomment aucune architecture hôte passent en arm64 par défaut, et les plug-ins Intel peuvent ne pas apparaître dans la liste des Réglages ni déclencher de notification.4 Je n’ai pas de Mac sous macOS 27, donc chaque affirmation ci-dessous est le texte d’Apple, plus ce que j’ai pu vérifier sur macOS 26.6.2 : ce qu’un paquet d’installation standard déclare, ce que le manuel de productbuild dit du traitement que le programme d’installation appliquait à une distribution qui ne nomme aucune architecture, et lesquels des nouveaux verbes en ligne de commande manquent aux outils de 26.6.51314
{.answer-block}
L’essentiel
- Dates et builds. Le flux Releases d’Apple liste macOS 27.0 (26A428) au lundi 14 septembre, à côté de Xcode 27 (27A266a) et d’iOS 27.0 (24A437).1 La page de compatibilité, publiée le même jour, compte 35 entrées de modèles, toutes Apple Silicon, et la page de mise à niveau énonce la règle en une phrase : « macOS 27 is compatible with any Mac with Apple silicon, which includes any Mac with an M-series chip or A-series chip. » (macOS 27 est compatible avec tout Mac Apple Silicon, ce qui inclut tout Mac doté d’une puce de série M ou de série A.)2
- Apple a couché le calendrier de Rosetta par écrit. L’article d’assistance et les notes de version s’accordent : macOS 28 ne conserve qu’un sous-ensemble réservé aux jeux, et les notes pour les entreprises décrivent Rosetta comme « a general-purpose compatibility tool through macOS 27 » (un outil de compatibilité généraliste jusqu’à macOS 27 inclus).3410 Lors de la mise à niveau elle-même, Rosetta « is not automatically restored » (n’est pas restauré automatiquement), et les apps qu’un utilisateur avait épinglées sur « Open using Rosetta » se lancent en natif.4
- Les paquets d’installation changent d’architecture par défaut. Apple : « Installer packages which specify no
hostArchitecturewill now default to arm64. » (Les paquets d’installation qui ne précisent aucunhostArchitecturepassent désormais en arm64 par défaut.)4 Sur macOS 26.6.2, un paquet de composant construit avecpkgbuildne contient aucun fichier de distribution, donc il ne nomme aucune architecture, tandis queproductbuild --synthesizea écrithostArchitectures="x86_64,arm64"dans la distribution qu’il a générée pour mon paquet ; la référence archivée du Distribution XML d’Apple ne liste toujours quei386,x86_64etppccomme codes valides.56 - Les apps Intel reçoivent une étiquette avant de s’arrêter. Apple dit que Lire les informations (Get Info) affiche désormais « a treatment » (un marquage) sur les « Intel-based applications that will no longer run in macOS 28.0 » (applications Intel qui ne fonctionneront plus sous macOS 28.0), et que Réglages > Général les liste, avec un
game-test-toolréservé aux bêtas qui désactive Rosetta purement et simplement et fait tourner les jeux anciens à travers ce qu’Apple appelle « the new underlying system behavior » (le nouveau comportement système sous-jacent).8 - Cinq changements système sans la moindre trace de Rosetta. macOS refuse sans rien demander la lecture des conteneurs d’autres équipes, les apps perdent l’accès direct à la base de données TCC,
spctlgagne une commande de purge, les connexions liées à la gestion exigent TLS 1.2 avec des suites de chiffrement de niveau ATS, et App Attest arrive sur le Mac.91011 - Ce que je n’ai pas pu exécuter. Le lancement natif forcé, l’absence de Rosetta après la mise à niveau, le marquage dans Get Info, la liste des Réglages et l’arm64 par défaut pour un paquet de composant nu : ces cinq points exigent un Mac sous 27. Je les rapporte ici tels qu’Apple les énonce, et la section vers la fin les reprend un par un.
Qu’est-ce qui est sorti le 14 septembre ?
| Élément | Build | Source |
|---|---|---|
| macOS 27.0 Golden Gate | 26A428 | Flux Releases, lun. 14 sept. 20261 |
| Xcode 27 | 27A266a | Même date d’entrée dans le flux ; détails dans le billet sur la sortie de Xcode 271 |
| Mac compatibles | 35 entrées de modèles, Apple Silicon uniquement, du M1 (2020) au M6, plus le MacBook Neo (13 pouces, A18 Pro) | Article d’assistance 127255, publié le 14 septembre2 |
| Mode d’installation | Mise à jour de logiciels, sur « any Mac with Apple silicon, which includes any Mac with an M-series chip or A-series chip » (tout Mac Apple Silicon, y compris tout Mac à puce de série M ou de série A) | Article d’assistance 127455, publié le 14 septembre2 |
Le nom vient de la section Overview des notes de version elles-mêmes : « The macOS 27 SDK provides support to develop apps for Mac computers running macOS 27 Golden Gate. » (Le SDK macOS 27 permet de développer des apps pour les Mac sous macOS 27 Golden Gate.)4 L’entrée de série A est le détail qui mérite un second regard : la formulation de la page de mise à niveau, « M-series chip or A-series chip », décrit la plateforme plutôt qu’une seule famille de puces, et le MacBook Neo est la seule machine de la liste qui corresponde à la seconde moitié de cette phrase.2
Que fait macOS 27 de Rosetta ?
Deux articles d’assistance publiés le 14 septembre et les notes de version de la GA décrivent la même frontière sous trois angles, et ils s’accordent sur l’endroit où elle passe.
L’article d’assistance sur les apps Intel : « Rosetta is available for any Mac with Apple silicon using macOS 27 or earlier. Starting with macOS 28, the next major macOS release, Rosetta functionality will be available only for certain older, unmaintained games that rely on Intel-based frameworks. » (Rosetta est disponible sur tout Mac Apple Silicon sous macOS 27 ou antérieur ; à partir de macOS 28, la prochaine version majeure de macOS, la fonctionnalité Rosetta ne sera disponible que pour certains jeux anciens, non maintenus, qui reposent sur des frameworks Intel.)3
Les notes pour les entreprises : « If Rosetta was previously installed, it will not be automatically restored upon upgrading to macOS 27. Rosetta will continue as a general-purpose compatibility tool through macOS 27. » (Si Rosetta était installé auparavant, il ne sera pas restauré automatiquement lors de la mise à niveau vers macOS 27 ; Rosetta reste un outil de compatibilité généraliste jusqu’à macOS 27 inclus.)10
Les notes de version, section Rosetta, qui comptent une entrée New Features et trois Deprecations :4
- « On launch, Applications previously set to ‘Open using Rosetta’ by a user will have the application launch natively. Any compatibility issues requiring Rosetta from the past should be re-assessed on macOS 27. » (Au lancement, les applications qu’un utilisateur avait réglées sur « Ouvrir avec Rosetta » se lancent en natif ; tout problème de compatibilité qui exigeait Rosetta par le passé doit être réévalué sous macOS 27.)
- « If Rosetta was previously installed, it is not automatically restored after upgrading to macOS 27.0. » (Si Rosetta était installé auparavant, il n’est pas restauré automatiquement après la mise à niveau vers macOS 27.0.)
- « Installer packages which specify no
hostArchitecturewill now default to arm64. Ensure any pre and post install scripts behave as intended under arm64. Additionally, audit any remaining installer plugins to ensure compatibility on Apple silicon. » (Les paquets d’installation qui ne précisent aucunhostArchitecturepassent désormais en arm64 par défaut ; vérifiez que vos scripts de pré- et post-installation se comportent comme prévu sous arm64, et auditez les plug-ins d’installation restants pour vous assurer de leur compatibilité sur Apple Silicon.) - « Intel-based plugins and loaders may not appear in Settings or trigger notifications of their incompatibility. All Intel-based software will no longer be compatible with macOS 28.0, excluding legacy games. » (Les plug-ins et chargeurs Intel peuvent ne pas apparaître dans les Réglages ni déclencher de notification d’incompatibilité ; plus aucun logiciel Intel ne sera compatible avec macOS 28.0, à l’exception des jeux anciens.) La même entrée nomme les dossiers à vérifier,
~/Library/Audio/Plug-Ins/*,~/Library/Printers/et~/Library/ColorPickers/, pour les « VSTs, HAL, ARA, PDEs, Color Pickers, Quicklook & Spotlight plugins/extensions/components ».
Le premier point et l’article d’assistance paraissent contradictoires jusqu’à ce qu’on lise le mot « previously » (auparavant). L’article d’assistance dit que la case « Open using Rosetta » d’une app Universal fonctionne toujours : « you can use it in macOS 27 or earlier to force the app to open as an Intel-based app, which allows it to use Intel-only plug-ins, extensions, and other add-ons. » (vous pouvez l’utiliser sous macOS 27 ou antérieur pour forcer l’app à s’ouvrir en tant qu’app Intel, ce qui lui permet d’utiliser des plug-ins, extensions et autres compléments réservés à Intel.)3 La note de version dit que les apps « previously set » (réglées auparavant) sur ce mode se lancent en natif. Ma lecture, que je ne peux pas vérifier sans machine sous 27, est que la mise à niveau efface le réglage une fois et que l’utilisateur peut le rétablir ; l’instruction d’Apple de « re-assess » (réévaluer) l’ancien problème de compatibilité va dans le même sens. Si cette lecture est juste, un utilisateur qui comptait sur cette case pour un plug-in Intel voit l’app s’ouvrir en natif, plug-in non chargé, au premier lancement après la mise à niveau.
Le second changement mord plus tôt que le premier. Apple dit qu’un Mac qui avait Rosetta passe à 27.0 sans lui, si bien que, d’après ses instructions d’installation, ouvrir n’importe quelle app Intel est la façon de le récupérer.3410 Le texte d’Apple ne dit pas ce que fait un script qui exécute un binaire Intel sur un Mac sans Rosetta ; prévoyez qu’il échoue tant que Rosetta n’est pas installé, par cette invite ou par softwareupdate --install-rosetta.3 La documentation Rosetta d’Apple ajoute le seul cas qui n’exige aucune installation : « macOS 27 directly integrates support for Intel binary translation, without needing to install Rosetta » (macOS 27 intègre directement la traduction de binaires Intel, sans qu’il faille installer Rosetta), pour les binaires Linux Intel dans les machines virtuelles et les conteneurs ; le billet Intel sur Xcode 27 décortique cette phrase et le reste du calendrier de Rosetta tel que la documentation d’Apple l’énonçait en juillet.7
L’exception pour les jeux a une forme réservée aux bêtas. La section Gaming décrit sudo game-test-tool enable, qui active « support for legacy Intel-based games » (la prise en charge des jeux Intel anciens) et, dans le même souffle, prévient que « enabling legacy game support disables Rosetta, non-game processes might crash or behave unexpectedly, and this feature is intended only for playing legacy Intel-based games and is not available outside of macOS beta releases. » (activer la prise en charge des jeux anciens désactive Rosetta, les processus qui ne sont pas des jeux peuvent planter ou se comporter de façon inattendue, et cette fonctionnalité n’est destinée qu’à jouer à des jeux Intel anciens et n’est pas disponible en dehors des bêtas de macOS.)8 L’outil est donc un interrupteur réservé aux bêtas pour ce qu’Apple appelle « the new underlying system behavior » (le nouveau comportement système sous-jacent) ; la note ne dit rien de la façon dont macOS 28 l’exposera.
Quels paquets d’installation passent en arm64 par défaut ?
La phrase d’Apple nomme une clé, hostArchitecture, au singulier ; l’attribut qui lui correspond est hostArchitectures, sur l’élément <options> d’un Distribution XML, le fichier à l’intérieur d’une archive produit, que la référence d’Apple décrit comme « a comma-separated list of supported architecture codes » (une liste de codes d’architecture pris en charge, séparés par des virgules).6 Les « packages which specify no hostArchitecture » d’Apple sont, selon ma lecture, ceux dont la distribution n’a pas cet attribut, ou qui n’ont pas de distribution du tout.
Sur macOS 26.6.2, j’ai construit le plus petit paquet possible des deux façons.5 Un paquet de composant issu de pkgbuild se décompose en trois entrées, Bom, PackageInfo et Payload, et aucun fichier Distribution ; il n’y a nulle part où y déclarer une architecture, si bien qu’un paquet de composant nu installé directement est le cas le plus net d’un paquet qui n’en précise aucune. Une archive produit est différente : productbuild --synthesize sur le même composant a écrit cette ligne d’options dans la distribution qu’il a générée, et l’archive construite à partir d’elle porte la même ligne après pkgutil --expand :
<options customize="never" require-scripts="false" hostArchitectures="x86_64,arm64"/>
Un paquet produit par une exécution standard de productbuild sur 26.6 déclare donc déjà les deux architectures et, selon la formulation d’Apple, le nouveau défaut ne s’applique pas à lui. Les paquets qui changent sont ceux construits à partir d’une distribution écrite à la main qui omet l’attribut, ceux assemblés par des outils tiers qui ne l’émettent jamais, et les paquets de composant nus. La référence archivée du Distribution XML rend l’écart visible : sa liste de codes valides est « i386, x86_64, and ppc », sans arm64, si bien qu’une distribution écrite d’après cette référence n’avait aucun code arm64 à nommer.6
Le manuel de productbuild sur 26.6.2 fournit l’« avant » que la note d’Apple passe sous silence. « On Apple Silicon, the macOS Installer will evaluate the product’s distribution under Rosetta 2 unless the arch key includes the arm64 architecture specifier » (sur Apple Silicon, le programme d’installation macOS évalue la distribution du produit sous Rosetta 2, sauf si la clé arch inclut le spécificateur d’architecture arm64), et « If the distribution is evaluated under Rosetta 2, any package scripts inside of product will be executed with Rosetta 2 at install time. » (si la distribution est évaluée sous Rosetta 2, tous les scripts de paquet du produit sont exécutés avec Rosetta 2 au moment de l’installation.) La même page décrit la clé de prérequis derrière l’attribut que j’ai vu, arch, que productbuild écrit, selon ma lecture, sous la forme hostArchitectures : « Starting on macOS Big Sur (11.0), productbuild will automatically specify support for both arm64 and x86_64 unless a custom value for arch is provided. » (À partir de macOS Big Sur (11.0), productbuild déclare automatiquement la prise en charge d’arm64 et de x86_64, sauf si une valeur personnalisée est fournie pour arch.)14 Le défaut qu’Apple dit changer était donc l’évaluation sous Rosetta 2, scripts compris ; sur 27, d’après la note d’Apple, une distribution qui ne nomme aucune architecture passe plutôt en arm64.
Pour vérifier un paquet que vous livrez ou installez :
pkgutil --expand YourProduct.pkg /tmp/expanded
grep -o 'hostArchitectures="[^"]*"' /tmp/expanded/Distribution
Pas de fichier Distribution, ou pas de correspondance, signifie, selon la formulation d’Apple, que le paquet hérite du nouveau défaut arm64 sur 27, et que les scripts qu’il contient s’exécutent sous arm64. C’est la partie de la note d’Apple qui change un comportement plutôt que des métadonnées : un script preinstall ou postinstall qui branche sur uname -m prendrait la branche arm64, et un script qui lance un assistant compilé pour x86_64 a besoin de Rosetta sur une machine qui ne l’a peut-être plus du tout.4 La note d’Apple se termine par l’audit qu’elle réclame : « audit any remaining installer plugins to ensure compatibility on Apple silicon » (auditez les plug-ins d’installation restants pour vous assurer de leur compatibilité sur Apple Silicon), parce que la documentation Rosetta d’Apple exclut le cas mixte : « The system prevents you from mixing arm64 code and x86_64 code in the same process. » (Le système vous empêche de mélanger du code arm64 et du code x86_64 dans un même processus.)7
Qu’est-ce qui a changé d’autre pour les développeurs ?
Le reste des notes de la GA qui touchent au code que vous livrez, avec la formulation d’Apple là où la formulation est le sujet :9
- Conteneurs d’autres équipes. « Accessing files in other developer teams’ app data containers and app group containers no longer prompts the user for authorization ; such accesses are denied by default and can be managed by the user in Privacy & Security settings. » (L’accès aux fichiers des conteneurs de données d’app et des conteneurs de groupes d’apps d’autres équipes de développement ne demande plus d’autorisation à l’utilisateur ; ces accès sont refusés par défaut et l’utilisateur peut les gérer dans les réglages Confidentialité et sécurité.) Mon billet d’août couvre le mode de défaillance : l’API renvoie toujours une URL, et le refus tombe au moment de la lecture. Une seconde entrée ajoute que « XProtect may now restrict access to app data that is commonly targeted by malicious software. » (XProtect peut désormais restreindre l’accès aux données d’app couramment ciblées par les logiciels malveillants.) Un Known Issue sous Privacy & Security Settings couvre le cas de la ligne de commande : « In the Files & Folders pane, a process without a bundle ID cannot be granted access to specific app data containers or app group containers owned by other developer teams » (dans le volet Fichiers et dossiers, un processus sans identifiant de bundle ne peut pas recevoir l’accès à des conteneurs de données d’app ou de groupes d’apps précis appartenant à d’autres équipes de développement), et le contournement d’Apple est l’Accès complet au disque « for the duration of the requirement » (pour la durée du besoin).
- TCC. « Apps can no longer access the local TCC database directly. » (Les apps ne peuvent plus accéder directement à la base de données TCC locale.) Les notes pour les entreprises associent cette suppression à un nouveau chemin d’interrogation pour les administrateurs : « The new
tccutil listcommand can report current privacy authorizations for specified services or apps on managed devices. » (La nouvelle commandetccutil listpeut rapporter les autorisations de confidentialité en vigueur pour des services ou des apps donnés sur les appareils gérés.)10 Sur 26.6.2,tccutilaccepte exactement un verbe,reset.13 - launchd, classé comme corrigé. Sous Launch Daemons and Agents, Resolved Issues, Apple écrit : « Fixed :
launchdno longer supports loadinglaunchdproperty list files with the quarantine extended attribute. » (Corrigé :launchdne prend plus en charge le chargement de fichiers property listlaunchdportant l’attribut étendu de quarantaine.) Apple emploie le préfixe « Fixed : » de deux manières dans le même document : pour le problème qu’il a résolu (Accessory Access, 176815987 : « Fixed : Accessory Access does not work inside App Sandbox. ») et pour le comportement résolu lui-même (Foundation, 161588649 : « Fixed :+[NSURL URLWithString:]no longer double-encodes the%of valid percent-escape sequences when encoding other invalid characters. »). Lue de la première manière, la ligne launchd est une restriction de bêta levée à la GA ; lue de la seconde, la restriction est ce qui a été livré. La note laisse le comportement livré ambigu, et je ne peux pas le tester sans machine sous 27. - Gatekeeper.
spctlgagne une commande de purge « which will clean up Gatekeeper database entries for apps and executables which are no longer mounted » (qui nettoie les entrées de la base de données Gatekeeper pour les apps et exécutables qui ne sont plus montés). L’entrée d’Apple écrit le drapeau avec un seul tiret, alors consultez l’aide de l’outil lui-même sur 27 avant de le taper ; le texte d’usage de l’outil de 26.6.2 ne liste aucune commande de purge.13 - Sécurité réseau pour les Mac gérés. « Starting in 27.0 operating systems, select system processes now enforce stricter network security (TLS) requirements. » (À partir des systèmes 27.0, certains processus système appliquent des exigences de sécurité réseau (TLS) plus strictes.) Les opérations concernées sont le MDM, la gestion déclarative, l’Automated Device Enrollment, l’installation de profils, l’installation d’apps et les mises à jour logicielles, et la barre est « TLS 1.2 at minimum, using cipher suites and certificates that meet App Transport Security (ATS) requirements » (TLS 1.2 au minimum, avec des suites de chiffrement et des certificats conformes aux exigences d’App Transport Security (ATS)). L’article d’assistance d’Apple pour les administrateurs ajoute que les connexions SCEP et de mise en cache de contenu sont exemptées.11
- App Attest sur le Mac. « App Attest is now available to verify the authenticity of Mac apps. » (App Attest est désormais disponible pour vérifier l’authenticité des apps Mac.)10
- Paquets gérés et gestion héritée des mises à jour. La gestion des appareils « can configure the desired behavior when a managed package is removed » (peut configurer le comportement souhaité quand un paquet géré est retiré), et « Legacy software update management no longer functions in all 27.0 operating systems » (la gestion héritée des mises à jour logicielles ne fonctionne plus dans aucun système 27.0), ce qui retire les anciennes commandes, requêtes et restrictions de report des mises à jour au profit de la gestion déclarative.10
- System. La bibliothèque System « now provides Swift APIs for the C
stat,lstat,fstat, andfstatatsystem calls » (fournit désormais des API Swift pour les appels système Cstat,lstat,fstatetfstatat), et un Resolved Issue consigne une rupture de build survenue en bêta : des appelsstat()non qualifiés dans vos propres extensions deFilePathouFileDescriptor« might conflict with the new Swiftstat()instance methods » (peuvent entrer en conflit avec les nouvelles méthodes d’instance Swiftstat()), ce qu’Apple liste comme corrigé à la GA. - Images disque. « The new DiskImageKit framework provides Swift APIs for creating and managing standalone and stacked disk images in the Apple Sparse Image Format (ASIF) and raw disk image formats » (le nouveau framework DiskImageKit fournit des API Swift pour créer et gérer des images disque autonomes et empilées aux formats Apple Sparse Image Format (ASIF) et image disque brute), pour un usage avec le framework Virtualization.
- Mac Catalyst. Les apps Catalyst « now behave like AppKit apps when you switch to them with no open windows » (se comportent désormais comme des apps AppKit quand vous basculez vers elles sans fenêtre ouverte), si bien que basculer vers l’une d’elles ne crée plus de fenêtre, sauf si l’activation vient du Dock ou de Spotlight.
- Disque de démarrage. Un Known Issue pour quiconque garde un vieux volume sous la main : « When a Mac is running macOS 11.0, you might not be able to select the boot volume of macOS 27.0 or later as the startup disk in System Settings. » (Quand un Mac tourne sous macOS 11.0, vous pourriez ne pas pouvoir sélectionner le volume de démarrage de macOS 27.0 ou ultérieur comme disque de démarrage dans Réglages Système.) Le contournement d’Apple est l’écran des options de démarrage, via le bouton d’alimentation.
Le versant Xcode de la même sortie est déjà traité à deux endroits. Le billet sur la sortie de Xcode 27 reproduit le changement d’ARCHS_STANDARD sur 27A266a, où une cible de déploiement macOS de 27.0 se résout en arm64 seul, et le billet Intel retrace les trois phrases de la section Intel Deprecation ; la formulation d’Apple à la GA pour ces entrées correspond au texte de la bêta 4, y compris la ligne qui garde la voie Intel ouverte une année de plus : « Intel development is still possible with macOS versions that support Rosetta like macOS 27. » (Le développement Intel reste possible sur les versions de macOS qui prennent en charge Rosetta, comme macOS 27.)12
Ce que je n’ai pas pu exécuter
Je n’ai aucun Mac sous macOS 27, donc chaque comportement de 27 dans ce billet est une affirmation d’Apple. Les cinq sur lesquels ce billet s’appuie le plus : que les apps épinglées sur « Open using Rosetta » se lancent en natif après la mise à niveau ; que Rosetta est absent après la mise à niveau d’un Mac qui l’avait ; que Get Info affiche un marquage sur les apps qui ne tourneront pas sous 28 ; que Réglages > Général les liste ; qu’un paquet de composant nu exécute ses scripts sous arm64 sur 27. L’expérience sur les paquets ci-dessus établit ce que les paquets déclarent sur 26.6.2, pas la façon dont 27 les traite. Quand une machine sous 27 sera disponible, chacune de ces cinq lignes recevra ici une section datée, de la même manière que le billet ld64 a reçu ses sections GA.
Ce que je ferais cette semaine
- Décompressez chaque paquet que vous livrez et chaque paquet que vos machines de build installent, et cherchez
hostArchitecturesdans la distribution avec grep ; traitez un fichier manquant ou un attribut manquant comme « arm64 sur 27 » et relisez les scripts de pré- et post-installation avec cette idée en tête.45 - Si une étape de CI ou de provisionnement exécute un binaire Intel, installez Rosetta explicitement dans le script de préparation plutôt que de compter sur sa survie à la mise à niveau ; Apple dit qu’il n’y survit pas.410
- Listez les plug-ins Intel comme Apple le fait, par dossier :
~/Library/Audio/Plug-Ins/*,~/Library/Printers/,~/Library/ColorPickers/, et partout où vivent vos extensions Quick Look et Spotlight, qu’Apple nomme par catégorie plutôt que par chemin. Les Réglages peuvent ne pas les lister, et macOS 28 ne les chargera pas.4 - Si vous installez un agent launchd en copiant une plist, testez-le une fois sur une machine sous 27 avec l’attribut de quarantaine encore présent ; Apple classe sa note sur ce cas sous Resolved Issues, et elle se lit dans les deux sens.9
- Si vous gérez des appareils, testez dès maintenant vos serveurs MDM, d’inscription et de mise à jour face aux exigences TLS 1.2 et de suites de chiffrement ATS ; Apple dit que ses systèmes « might refuse connections » (peuvent refuser les connexions) aux serveurs non conformes, l’entrée de la même page pour la version 27 ou ultérieure dit « Non-compliant connections are blocked and the log messages appear as errors instead of warnings » (les connexions non conformes sont bloquées et les messages de journal apparaissent comme des erreurs plutôt que des avertissements), et SCEP et la mise en cache de contenu sont les seules exemptions qu’elle liste.911
- Si vous aviez contourné la collision de
stat()sur une bêta, retirez le contournement et recompilez ; Apple la liste comme corrigée à la GA.9
Questions fréquentes
Quand macOS 27 est-il sorti ?
Le lundi 14 septembre 2026, sous le build 26A428, le même jour qu’iOS 27.0 (24A437) et Xcode 27 (27A266a). Le flux Releases d’Apple les liste tous à cette date.1
Quels Mac peuvent faire tourner macOS 27 Golden Gate ?
Tout Mac Apple Silicon. La page de compatibilité d’Apple liste 35 entrées de modèles, du MacBook Air, du MacBook Pro et du Mac mini M1 de 2020 jusqu’aux machines M5 et M6, plus le MacBook Neo (13 pouces, A18 Pro). Aucun Mac Intel ne figure sur la liste.2
Rosetta fonctionne-t-il encore sous macOS 27 ?
Oui. L’article d’assistance d’Apple dit que Rosetta « is available for any Mac with Apple silicon using macOS 27 or earlier » (est disponible sur tout Mac Apple Silicon sous macOS 27 ou antérieur), et les notes pour les entreprises le décrivent comme « a general-purpose compatibility tool through macOS 27 » (un outil de compatibilité généraliste jusqu’à macOS 27 inclus). Apple dit que la mise à niveau ne le restaure pas, si bien qu’un Mac qui l’avait peut devoir le réinstaller.3410
Rosetta fonctionnera-t-il sous macOS 28 ?
Seulement pour les jeux. « Starting with macOS 28, the next major macOS release, Rosetta functionality will be available only for certain older, unmaintained games that rely on Intel-based frameworks » (à partir de macOS 28, la prochaine version majeure de macOS, la fonctionnalité Rosetta ne sera disponible que pour certains jeux anciens, non maintenus, qui reposent sur des frameworks Intel), et les notes de version disent « All Intel-based software will no longer be compatible with macOS 28.0, excluding legacy games. » (Plus aucun logiciel Intel ne sera compatible avec macOS 28.0, à l’exception des jeux anciens.)34
Quels paquets d’installation le défaut arm64 concerne-t-il ?
Les paquets dont le fichier de distribution n’a pas d’attribut hostArchitectures, et les paquets de composant nus, qui n’ont pas de fichier de distribution du tout. Une archive produit générée par productbuild sur macOS 26.6.2 déclare hostArchitectures="x86_64,arm64" et sort du champ de la phrase d’Apple. Vérifiez avec pkgutil --expand et un grep du fichier Distribution.456
Dois-je réinstaller Rosetta après la mise à niveau ?
Apple dit que si le Mac avait Rosetta avant la mise à niveau, macOS 27 ne le ramène pas de lui-même. D’après les instructions d’installation d’Apple, ouvrir n’importe quelle app Intel fait revenir l’invite, ou vous pouvez l’installer depuis le Terminal avec softwareupdate --install-rosetta, la commande que donne l’article d’assistance d’Apple.34
Sources
-
Apple, Releases, flux RSS consulté le 16 septembre 2026 : « macOS 27.0 (26A428) », « Xcode 27 (27A266a) » et « iOS 27.0 (24A437) », chacun daté du lun. 14 sept. 2026. Aucune entrée macOS plus récente n’apparaît dans le flux à la date de cette consultation. ↩↩↩↩↩
-
Apple, macOS 27 Golden Gate is compatible with these computers, publié le 14 septembre 2026. La liste : 11 entrées MacBook Pro, de « MacBook Pro (13-inch, M1, 2020) » à « MacBook Pro (16-inch, M5 Pro or M5 Max) » ; neuf entrées MacBook Air, de « MacBook Air (M1, 2020) » à « MacBook Air (15-inch, M5) » ; « MacBook Neo (13-inch, A18 Pro) » ; cinq entrées iMac à partir de « iMac (24-inch, M1, 2021) » ; quatre entrées Mac mini, de « Mac mini (M1, 2020) » à « Mac mini (M6 or M5 Pro) » ; quatre entrées Mac Studio, de « Mac Studio (2022) » à « Mac Studio (M5 Max or M5 Ultra) » ; et « Mac Pro (2023) ». Apple, How to upgrade to macOS 27 Golden Gate, publié le 14 septembre 2026 : « macOS 27 is compatible with any Mac with Apple silicon, which includes any Mac with an M-series chip or A-series chip. » (macOS 27 est compatible avec tout Mac Apple Silicon, ce qui inclut tout Mac doté d’une puce de série M ou de série A.) ↩↩↩↩↩↩
-
Apple, Using Intel-based apps on a Mac with Apple silicon, publié le 14 septembre 2026 : « Rosetta is available for any Mac with Apple silicon using macOS 27 or earlier. Starting with macOS 28, the next major macOS release, Rosetta functionality will be available only for certain older, unmaintained games that rely on Intel-based frameworks. » Sur la case à cocher : « If this setting is available for your app, you can use it in macOS 27 or earlier to force the app to open as an Intel-based app, which allows it to use Intel-only plug-ins, extensions, and other add-ons. » (Si ce réglage est disponible pour votre app, vous pouvez l’utiliser sous macOS 27 ou antérieur pour forcer l’app à s’ouvrir en tant qu’app Intel, ce qui lui permet d’utiliser des plug-ins, extensions et autres compléments réservés à Intel.) La commande d’installation par le Terminal que donne l’article est
softwareupdate --install-rosetta. ↩↩↩↩↩↩↩↩↩ -
Apple, macOS 27 Golden Gate Release Notes, consultées via le point d’accès JSON de la documentation d’Apple le 16 septembre 2026. Overview : « The macOS 27 SDK provides support to develop apps for Mac computers running macOS 27 Golden Gate. » Section Rosetta, New Features (168097174) et Deprecations (163213094, 171187112, 176042635), citées dans le texte. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Tests de l’auteur sur macOS 26.6.2 (build 25G83), 16 septembre 2026.
pkgbuild --root root --identifier com.blakecrosley.probe --version 1.0 --install-location / probe-component.pkga écrit un paquet de composant dont la sortie depkgutil --expandcontientBom,PackageInfoetPayloadet aucunDistribution; lePackageInfoconsignegenerator-version="InstallCmds-864.12 (25G83)".productbuild --synthesize --package probe-component.pkg distribution.xmla écrit une distribution dont l’élément options se lit<options customize="never" require-scripts="false" hostArchitectures="x86_64,arm64"/>, et l’archive produit construite à partir d’elle avecproductbuild --distribution distribution.xml --package-path . probe-product.pkgporte la même ligne dans sonDistributiondécompressé. ↩↩↩↩↩ -
Apple, Distribution XML Reference, Documentation Archive, tableau de l’élément
options, lignehostArchitectures(String, Optional) : « A comma-separated list of supported architecture codes. Valid codes are i386, x86_64, and ppc. » (Une liste de codes d’architecture pris en charge, séparés par des virgules ; les codes valides sont i386, x86_64 et ppc.) Consulté le 16 septembre 2026. ↩↩↩↩ -
Apple, About the Rosetta translation environment, consulté via le point d’accès JSON de la documentation le 16 septembre 2026 : Rosetta « will be available through macOS 27 » (sera disponible jusqu’à macOS 27 inclus) en tant que « a general-purpose tool for Intel apps » (outil généraliste pour les apps Intel), et « Beyond this timeframe, we will keep a subset of Rosetta functionality aimed at supporting older unmaintained gaming titles, that rely on Intel-based frameworks » (au-delà de cette période, nous conserverons un sous-ensemble de Rosetta destiné aux jeux anciens non maintenus qui reposent sur des frameworks Intel) ; « macOS 27 directly integrates support for Intel binary translation, without needing to install Rosetta. » Sur les processus mixtes : « The system prevents you from mixing
arm64code andx86_64code in the same process. Rosetta translation applies to an entire process, including all code modules that the process loads dynamically. » (Le système vous empêche de mélanger du codearm64et du codex86_64dans un même processus ; la traduction Rosetta s’applique à un processus entier, y compris tous les modules de code que le processus charge dynamiquement.) ↩↩ -
Apple, macOS 27 Golden Gate Release Notes (comme en 4) : Deprecation Information (169548657) : « Intel-based applications that will no longer run in macOS 28.0 now display a treatment in Get Info. » (Les applications Intel qui ne fonctionneront plus sous macOS 28.0 affichent désormais un marquage dans Lire les informations.) EcosystemUI (175697313) : « Settings > General now lists Intel-based apps that will be incompatible with macOS 28.0. » (Réglages > Général liste désormais les apps Intel qui seront incompatibles avec macOS 28.0.) Gaming (166398727) : l’entrée
sudo game-test-tool enable, citée dans le texte. ↩↩ -
Apple, macOS 27 Golden Gate Release Notes (comme en 4) : System Integrity Protection (161835690, 178668601), Privacy & Security Settings, Known Issues (184660124), TCC (90775556), Launch Daemons and Agents, Resolved Issues (166415497), avec les deux entrées « Fixed : » comparées à côté sous Accessory Access (176815987) et Foundation (161588649), Gatekeeper (123097648), Network Security (176055825), System (160612181, 177911316), Disk Images (177868758), Mac Catalyst (69906818), Startup Disk (166640903). Chaque citation de la liste « Qu’est-ce qui a changé d’autre » provient de l’entrée portant l’identifiant correspondant. ↩↩↩↩↩
-
Apple, What’s new for enterprise in macOS Golden Gate 27, publié le 14 septembre 2026 : « If Rosetta was previously installed, it will not be automatically restored upon upgrading to macOS 27. Rosetta will continue as a general-purpose compatibility tool through macOS 27. » ; « App Attest is now available to verify the authenticity of Mac apps. » ; « The new tccutil list command can report current privacy authorizations for specified services or apps on managed devices. » ; « Device management can configure the desired behavior when a managed package is removed, ensuring unwanted data and files are not left behind on devices when no longer needed. » (La gestion des appareils peut configurer le comportement souhaité quand un paquet géré est retiré, afin que des données et fichiers indésirables ne restent pas sur les appareils une fois devenus inutiles.) ; « Legacy software update management no longer functions in all 27.0 operating systems. » ↩↩↩↩↩↩↩↩↩
-
Apple, Prepare your network environment for stricter security requirements, consulté le 16 septembre 2026 : « Starting with version 27.0 of iOS, iPadOS, macOS, watchOS, tvOS, and visionOS, Apple operating systems might refuse connections to servers with outdated or non-compliant TLS configurations due to additional network security requirements. » (À partir de la version 27.0 d’iOS, iPadOS, macOS, watchOS, tvOS et visionOS, les systèmes d’exploitation Apple peuvent refuser les connexions aux serveurs dont la configuration TLS est obsolète ou non conforme, en raison d’exigences de sécurité réseau supplémentaires.) « Servers must support TLS 1.2 or later, use ATS-compliant ciphersuites, and present valid certificates that meet ATS standards. » (Les serveurs doivent prendre en charge TLS 1.2 ou ultérieur, utiliser des suites de chiffrement conformes à ATS et présenter des certificats valides répondant aux normes ATS.) Dans le paragraphe qui s’ouvre sur « On version 27 or later : » : « Non-compliant connections are blocked and the log messages appear as errors instead of warnings. » Exceptions nommées sur la page : les serveurs SCEP et les serveurs de mise en cache de contenu. ↩↩↩
-
Apple, Xcode 27 Release Notes, section Intel Deprecation, consultées via le point d’accès JSON de la documentation le 16 septembre 2026. New Features (161837535) : « Build targets with a min deployment target set to macOS 27.0 or DriverKit 27.0 will not build Universal by default. The
ARCHS_STANDARDbuild setting will no longer include x86_64 whenMACOSX_DEPLOYMENT_TARGETorDRIVERKIT_DEPLOYMENT_TARGET>= 27.0. » (Les cibles dont la cible de déploiement minimale est macOS 27.0 ou DriverKit 27.0 ne compilent plus en Universal par défaut ; le réglageARCHS_STANDARDn’inclut plus x86_64 lorsqueMACOSX_DEPLOYMENT_TARGETouDRIVERKIT_DEPLOYMENT_TARGET>= 27.0.) Deprecations (162138432) : « Xcode 27 will only install and run on Apple silicon Macs. The macOS 27 SDK supports back deploying Universal (Intel and Apple Silicon) apps to macOS 12 and later. Intel development is still possible with macOS versions that support Rosetta like macOS 27. » (Xcode 27 ne s’installe et ne s’exécute que sur les Mac Apple Silicon ; le SDK macOS 27 permet de déployer des apps Universal jusqu’à macOS 12 ; le développement Intel reste possible sur les versions de macOS qui prennent en charge Rosetta, comme macOS 27.) La reproduction à la GA d’ARCHS_STANDARDest la note 4 du billet sur la sortie de Xcode 27. ↩ -
Tests de l’auteur sur macOS 26.6.2 (build 25G83), 16 septembre 2026 :
spctlsans argument affiche « System Policy Basic Usage » et le texte d’usage ne contient aucune commande de purge ;tccutilsans argument ettccutil listaffichent tous deuxtccutil: Usage: tccutil reset SERVICE [BUNDLE_ID]. ↩↩↩ -
man productbuildsur macOS 26.6.2 (build 25G83), 16 septembre 2026, PRE-INSTALL REQUIREMENTS PROPERTY LIST, cléarch: « On Apple Silicon, the macOS Installer will evaluate the product’s distribution under Rosetta 2 unless the arch key includes the arm64 architecture specifier. » « If the distribution is evaluated under Rosetta 2, any package scripts inside of product will be executed with Rosetta 2 at install time. » « Starting on macOS Big Sur (11.0), productbuild will automatically specify support for both arm64 and x86_64 unless a custom value for arch is provided. » (Sur Apple Silicon, le programme d’installation macOS évalue la distribution du produit sous Rosetta 2 sauf si la clé arch inclut le spécificateur arm64 ; si la distribution est évaluée sous Rosetta 2, les scripts de paquet du produit s’exécutent avec Rosetta 2 à l’installation ; à partir de macOS Big Sur (11.0), productbuild déclare automatiquement la prise en charge d’arm64 et de x86_64 sauf si une valeur personnalisée est fournie pour arch.) ↩↩