Xcode 27 abandona o Intel: o que acaba e o que continua sendo distribuído
A Apple registrou em New Features, e não em Deprecations, a mudança relativa ao Intel com maior chance de alterar um binário que você já distribui. As release notes do Xcode 27 trazem uma seção chamada Intel Deprecation com exatamente duas entradas, e justamente aquela que impede um app macOS de ser compilado como Universal por padrão está do lado de New Features.12
TL;DR
- Por trás da manchete existem três mudanças distintas, e as próprias frases da Apple as mantêm separadas. O Xcode 27 só instala e roda em Macs com Apple silicon.2 O SDK do macOS 27 continua permitindo back deploy de apps Universal para o macOS 12 e versões posteriores.2 E o
ARCHS_STANDARDdeixa de incluirx86_64assim que o deployment target de macOS ou DriverKit de um target chega a 27.0.1 - Só a terceira muda o que você distribui, e muda sem emitir nenhum diagnóstico. A Apple descreve a solução na mesma entrada: “a arquitetura x86_64 pode ser adicionada à configuração de build
ARCHScaso isso seja necessário.”1 - O Xcode 26.6 não permite antecipar o novo comportamento. Forcei
MACOSX_DEPLOYMENT_TARGET=27.0em um projeto exclusivo de macOS e oARCHS_STANDARDcontinuou resolvendo paraarm64 x86_64.13 - Dois hábitos de auditoria fabricam respostas erradas. Passar
-sdk macosxfez um projeto exclusivo de iOS informarSUPPORTED_PLATFORMS = macosxeARCHS_STANDARD = arm64 x86_64, e resolver as configurações no nível do projeto escondeu dois targets de macOS dentro de um projeto cujo target padrão é iOS.14 - Em 11 dos meus projetos Xcode, com 44 targets no total: 21 compilam para macOS, o maior deployment target de macOS entre eles é 26.5 e nenhum define
ARCHSouEXCLUDED_ARCHS.14 Os 51 archives de macOS no disco são todosx86_64 arm64.14 - O fim do software Intel acontece no macOS 28, não no Xcode 27, e a frase da Apple traz uma ressalva que vale ler: “todo software baseado em Intel deixará de ser compatível com o macOS 28.0, com exceção de jogos legados.”10
A Apple publica tudo isso como texto de beta, nas release notes do Xcode 27 beta 4 e do macOS 27 beta 4.36
Três frases, três mudanças diferentes
A seção Intel Deprecation da Apple tem duas entradas. Lê-las como uma afirmação única leva à decisão errada nas duas direções.
A entrada de deprecação trata da máquina que está na sua mesa, e não faz nenhuma ressalva: “o Xcode 27 só será instalado e executado em Macs com Apple silicon.”2 Nenhuma configuração de build muda isso. Um Mac Intel deixa de ser uma máquina capaz de rodar o Xcode atual, e a tabela de compatibilidade da Apple soma um piso de software ao piso de hardware, listando macOS Tahoe 26.4 ou posterior como requisito para o Xcode 27 beta 4.4
A mesma entrada protege, em seguida, o resultado da compilação: “o SDK do macOS 27 suporta back deploy de apps Universal (Intel e Apple Silicon) para o macOS 12 e versões posteriores.”2 A tabela de compatibilidade da Apple concorda, mostrando um intervalo de deployment de macOS 12 a 27 para o Xcode 27 beta 4, contra 11 a 26.5 para o Xcode 26.6.4 O piso subiu exatamente uma versão. Os binários Universal sobrevivem.
E a entrada se encerra preservando o próprio fluxo de trabalho: “o desenvolvimento para Intel continua possível em versões do macOS que suportam Rosetta, como o macOS 27.”2
Vem então a entrada em New Features, que é a única capaz de mudar um produto que você já distribui:
Targets de build com deployment target mínimo definido como macOS 27.0 ou DriverKit 27.0 não serão compilados como Universal por padrão. A configuração de build
ARCHS_STANDARDdeixará de incluir x86_64 quandoMACOSX_DEPLOYMENT_TARGETouDRIVERKIT_DEPLOYMENT_TARGET>= 27.0. A arquitetura x86_64 pode ser adicionada à configuração de buildARCHScaso isso seja necessário.1
Quatro detalhes aí merecem ser separados. A Apple cita duas configurações e nenhuma outra, então IPHONEOS_DEPLOYMENT_TARGET e seus irmãos ficam fora da regra. A Apple cita um limiar, e não uma versão de toolchain, então o gatilho é o seu próprio deployment target cruzar 27.0. A Apple diz “não serão compilados como Universal por padrão”, o que descreve um padrão, não uma proibição. E a Apple oferece a saída na mesma frase, apontando ARCHS como o lugar onde recolocar o x86_64.
O padrão que muda sem gerar erro
O mecanismo é banal, e é exatamente isso que o torna silencioso. A referência de configurações de build da Apple descreve ARCHS como “uma lista das arquiteturas para as quais o produto será compilado. Normalmente isso é definido por uma configuração de build predefinida fornecida pela plataforma. Se mais de uma arquitetura for especificada, um binário universal será produzido.”5 A configuração predefinida é o ARCHS_STANDARD, e a Apple confirma a dependência em outro ponto da mesma referência, ao observar que a autenticação de ponteiros “não tem efeito se ARCHS tiver sido sobrescrito de modo a não se basear em ARCHS_STANDARD.”5
Ou seja: um target que nunca menciona ARCHS herda o que a plataforma entregar. Mude o que a plataforma entrega e o produto muda de forma sem que nenhum arquivo sob controle de versão seja editado.
Nada nessa mudança produz falha. O compilador roda, o linker roda e o archive passa na validação. Nada na toolchain trata um build de macOS com uma única slice arm64 como erro, porque não é erro. O resultado é um app macOS correto e assinado, carregando uma slice de arquitetura onde antes carregava duas. Em um Mac com Apple silicon — a máquina que todo desenvolvedor de Xcode 27 agora usa por obrigação — o build só arm64 abre e se comporta de forma idêntica. A regressão só aparece em hardware que ninguém mais tem à mão.
Chamar esse modo de falha de silencioso é caracterização minha, não da Apple; a Apple descreve o padrão e para por aí. O que a Apple de fato diz é que a correção é aditiva, e a formulação importa para o planejamento: o x86_64 “pode ser adicionado à configuração de build ARCHS caso isso seja necessário.”1 A Apple deixa para você o julgamento sobre a necessidade.
O que o Xcode 26.6 conta e o que ele não conta
Minha máquina roda o Xcode 26.6 (build 17F113) no macOS 26.5.2, então nenhum comportamento do Xcode 27 aparece em lugar algum deste artigo.13 A pergunta útil que uma toolchain anterior consegue responder é se ela já se comporta do jeito novo. Não se comporta.
Apontar o xcodebuild para um projeto exclusivo de macOS e sobrescrever o deployment target acima do limiar que a Apple indica deixa a lista de arquiteturas intacta:13
xcodebuild -showBuildSettings -project Cels.xcodeproj \
-configuration Release -sdk macosx \
MACOSX_DEPLOYMENT_TARGET=27.0 2>/dev/null \
| grep -E "^ +(ARCHS|ARCHS_STANDARD|MACOSX_DEPLOYMENT_TARGET) ="
MACOSX_DEPLOYMENT_TARGET = 27.0
ARCHS = arm64 x86_64
ARCHS_STANDARD = arm64 x86_64
MACOSX_DEPLOYMENT_TARGET = 27.0
A primeira linha é o xcodebuild devolvendo o override; o resto vem resolvido. O mesmo comando com 26.0 retorna linhas de arquitetura idênticas.13 O Xcode 26.6 não implementa o limiar, então ninguém consegue ensaiar a mudança na toolchain atual; qualquer comparação antes e depois depende do Xcode 27 em um Mac com Apple silicon.
O escopo por plataforma, esse sim, se reproduz hoje. O mesmo projeto resolvido contra o SDK do iOS retorna ARCHS_STANDARD = arm64, sem nenhum x86_64 a perder, enquanto o SDK do macOS retorna arm64 x86_64.13 A entrada da Apple cita apenas os deployment targets de macOS e DriverKit, e o lado iOS de um projeto multiplataforma não tem nada em jogo.
Auditando sua própria exposição sem inventá-la
Dois hábitos produzem respostas erradas com ares de certeza. Caí nos dois.
O primeiro é passar -sdk macosx para descobrir se um projeto compila para macOS. A flag sobrescreve o próprio SDK do projeto, então o Xcode responde a uma pergunta sobre a flag, e não sobre o projeto. Sem override, um projeto meu de browser exclusivo de iOS informa sua plataforma real; com -sdk macosx, o mesmo projeto informa SUPPORTED_PLATFORMS = macosx e ARCHS_STANDARD = arm64 x86_64, o que é puro artefato.14 Comece sem nenhum -sdk:
xcodebuild -showBuildSettings -project YourApp.xcodeproj \
-configuration Release 2>/dev/null \
| grep -E "^ +(SUPPORTED_PLATFORMS|SDKROOT) ="
No meu único app exclusivo de macOS, voltam duas linhas:14
SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk
SUPPORTED_PLATFORMS = macosx
Leia as duas linhas, nunca uma só. Esse projeto declara SDKROOT = macosx e nenhuma linha SUPPORTED_PLATFORMS, então uma busca textual por SUPPORTED_PLATFORMS nos arquivos de projeto dá zero e pula o único app exclusivo de macOS que eu tenho.14 As configurações resolvidas preenchem essa lacuna a partir do SDK; o grep não consegue. Ignore MACOSX_DEPLOYMENT_TARGET nesta etapa, porque o Xcode fornece um de qualquer jeito: três dos meus projetos exclusivos de iOS ainda informam um deployment target de macOS, dois em 26.5 e um em 26.2.14
O segundo hábito é resolver as configurações no nível do projeto. O xcodebuild -showBuildSettings sem -target responde por um único target, e um projeto misto enterra os demais. Meu projeto de extensão do Safari resolveu para SUPPORTED_PLATFORMS = iphoneos iphonesimulator e ARCHS_STANDARD = arm64, o que se lê como um projeto exclusivo de iOS, sem exposição ao Intel. Enumerar seus targets revelou quatro, dois deles de macOS, ambos resolvendo arm64 x86_64:14
xcodebuild -list -project YourApp.xcodeproj
for t in TargetA TargetB; do
xcodebuild -showBuildSettings -project YourApp.xcodeproj \
-target "$t" -configuration Release 2>/dev/null \
| grep -E "^ +(SUPPORTED_PLATFORMS|MACOSX_DEPLOYMENT_TARGET|ARCHS_STANDARD) ="
done
Uma peculiaridade a esperar: um target com SDKROOT = auto não resolve nenhum ARCHS_STANDARD enquanto você não indicar um SDK, então 15 dos meus 21 targets de macOS não imprimem nada nessa linha até o comando incluir -sdk macosx, e aí seus projetos resolvem arm64 x86_64.14 Em branco significa não resolvido, não vazio.
Depois, pare de confiar em configurações e leia um binário. As configurações de build descrevem intenção; o lipo descreve o artefato que você realmente distribuiu:
lipo -archs YourApp.xcarchive/Products/Applications/YourApp.app/Contents/MacOS/YourApp
x86_64 arm64
Prefira o lipo aos metadados do próprio archive. Dois dos meus archives não trazem lista alguma de arquiteturas em ApplicationProperties no Info.plist, então uma consulta com plutil ao archive não retorna nada, enquanto o lipo no binário lá dentro retorna x86_64 arm64.14 Ausência nos metadados significa que o archive foi gravado de outro jeito, não que o app perdeu uma slice.
O que 11 projetos realmente contêm
Rodei a auditoria em 11 projetos Xcode, com 44 targets no total. Oito projetos contêm ao menos um target de macOS, 21 targets compilam para macOS e a exposição ao novo padrão é zero hoje.14
| Projeto | Targets de macOS | MACOSX_DEPLOYMENT_TARGET |
ARCHS explícito |
Binário de macOS arquivado |
|---|---|---|---|---|
| Reps | 3 de 4 | 26.0, 26.2 | nenhum | sem archive de macOS |
| Return | 3 de 10 | 26.1 | nenhum | x86_64 arm64 |
| Banana List | 3 de 6 | 26.0 | nenhum | x86_64 arm64 |
| Water | 3 de 3 | 26.0 | nenhum | nenhum no disco |
| Yawara | 3 de 3 | 26.5 | nenhum | nenhum no disco |
| Cels | 3 de 3 | 26.0 | nenhum | x86_64 arm64 |
| ResumeGeni for Safari | 2 de 4 | 13.0 | nenhum | x86_64 arm64 |
| Tile | 1 de 1 | 15.0 | nenhum | x86_64 arm64 |
| Ace Citizenship | 0 de 4 | não se aplica | nenhum | não se aplica |
| ResumeGeni | 0 de 3 | não se aplica | nenhum | não se aplica |
| Shikigami | 0 de 3 | não se aplica | nenhum | não se aplica |
| Total | 21 de 44 | máx. 26.5 | 0 | todos Universal |
O maior deployment target de macOS na frota é 26.5; o menor, 13.0, em uma extensão do Safari que ninguém revisita há um bom tempo. Nenhum target chega a 27.0, então nenhum entra no regime do padrão alterado enquanto alguém não subir um número na mão. Zero targets definem ARCHS, zero definem EXCLUDED_ARCHS e a frota não contém nenhum arquivo .xcconfig, então toda decisão de arquitetura nos 44 targets vem do ARCHS_STANDARD.14
A evidência dos archives é mais forte que a das configurações, porque archives registram o que de fato foi distribuído. Minha máquina guarda 79 archives compilados entre abril e julho de 2026. Todos os 51 archives de macOS, distribuídos por sete produtos diferentes, reportam x86_64 arm64. Todos os 28 archives da família iOS reportam arm64.14 Ninguém, em nenhum desses projetos, escolheu Universal; o padrão produziu isso, todas as vezes. É essa a população sobre a qual a mudança da Apple age — e exatamente por isso ninguém vai perceber.
Uma lacuna honesta: subir um deployment target para 27.0 é um ato deliberado, e nenhum dos meus projetos tem motivo para isso ainda. O resultado limpo da frota mede um momento, não uma política.
Onde o software Intel realmente acaba
A mudança no Xcode diz respeito a arquiteturas dentro de um build. O fim do software Intel como categoria está no macOS 28, e a Apple registrou isso tanto na documentação do Rosetta quanto nas release notes do macOS 27, que concordam entre si.
A documentação do Rosetta define o prazo diretamente. O Rosetta “foi projetado para facilitar a transição para o Apple silicon e estará disponível até o macOS 27” como ferramenta de uso geral para apps Intel, e “depois desse prazo, manteremos um subconjunto das funcionalidades do Rosetta voltado a dar suporte a títulos de jogos antigos e sem manutenção, que dependem de frameworks baseados em Intel.”7 As release notes do macOS 27 afirmam a consequência com a mesma ressalva: “todo software baseado em Intel deixará de ser compatível com o macOS 28.0, com exceção de jogos legados.”10 Um comando exclusivo de beta, em outro ponto das mesmas notas, dá forma a essa ressalva: sudo game-test-tool enable liga o suporte a jogos Intel legados, e a Apple avisa que “habilitar o suporte a jogos legados desabilita o Rosetta.”15
O macOS 27 usa esse intervalo para nomear o que não vai sobreviver. A seção Deprecation Information da Apple informa que “aplicativos baseados em Intel que deixarão de rodar no macOS 28.0 agora exibem um aviso em Obter Informações”, e uma entrada separada acrescenta que “Ajustes > Geral agora lista os apps baseados em Intel que serão incompatíveis com o macOS 28.0”, incluindo “software baseado em Intel sem uso encontrado no sistema.”89
Três entradas mais discretas importam mais para quem distribui um produto para Mac.
O próprio Rosetta deixa de ser persistente: “se o Rosetta estava instalado anteriormente, ele não é restaurado automaticamente após a atualização para o macOS 27.0.”11 A documentação da Apple dá o contexto, observando que o macOS 27 “integra diretamente o suporte à tradução de binários Intel, sem necessidade de instalar o Rosetta”, o que viabiliza binários Linux Intel rodando em máquinas virtuais ARM e contêineres Linux Intel.7 Os apps que o usuário havia fixado também mudam: aplicativos antes configurados como “Abrir usando Rosetta” agora “são iniciados nativamente”, e a Apple recomenda que “qualquer problema de compatibilidade que exigia o Rosetta no passado seja reavaliado no macOS 27.”12
Os instaladores mudam de padrão: “pacotes de instalação que não especificam hostArchitecture passarão a assumir arm64 por padrão”, e a Apple pede que você “garanta que quaisquer scripts de pré e pós-instalação se comportem como esperado sob arm64.”11 Todo produto para Mac distribuído fora da App Store herda essa mudança, sendo o app Universal ou não.
Quem hospeda plugins enfrenta o caso mais delicado. A Apple avisa que “plugins e loaders baseados em Intel podem não aparecer nos Ajustes nem gerar notificações de incompatibilidade” e nomeia os diretórios a conferir na mão, entre eles ~/Library/Audio/Plug-Ins/, ~/Library/Printers/ e ~/Library/ColorPickers/.10 O motivo pelo qual um plugin consegue travar um app que de resto é nativo aparece na documentação do Rosetta: “o sistema impede que você misture código arm64 e código x86_64 no mesmo processo. A tradução do Rosetta se aplica a um processo inteiro, incluindo todos os módulos de código que o processo carrega dinamicamente.”7 Um plugin Intel, portanto, obriga seu host a rodar traduzido, transformando um único componente sem manutenção numa dependência do app inteiro em relação a um recurso que a Apple já programou para encolher.
O Universal existe para alcançar Macs Intel rodando do macOS 12 ao 27, o intervalo que a tabela de compatibilidade da Apple publica para o Xcode 27.4 A Apple datou o fim do software Intel no macOS 28 e deixou o intervalo de deployment intacto, então a pergunta real de um time de macOS é quantos dos seus usuários ainda rodam um Mac que precisa dessa slice.
Duas coisas que verifiquei e não encontrei: nem as release notes do Xcode 27 nem as do macOS 27 dizem qualquer coisa sobre mudança nos requisitos de Universal Purchase da Mac App Store, e nenhuma delas fixa uma data de calendário para o macOS 28.36 Trate qualquer data que você ler como inferência.
Perguntas frequentes
O Xcode 27 me impede de distribuir apps Intel?
Não, e a Apple diz o contrário na mesma entrada que deprecia os Macs Intel como máquinas de desenvolvimento: “o SDK do macOS 27 suporta back deploy de apps Universal (Intel e Apple Silicon) para o macOS 12 e versões posteriores.”2 A tabela de compatibilidade da Apple confirma o intervalo, listando macOS 12 a 27 como deployment targets do Xcode 27 beta 4.4 O que muda é o padrão. Um target cujo deployment target de macOS chega a 27.0 para de receber x86_64 do ARCHS_STANDARD, e a correção indicada pela Apple é você mesmo adicionar x86_64 ao ARCHS.1 Distribuir para Intel passa a ser uma escolha que você declara, não uma que você herda.
Meu build vai falhar se o ARCHS_STANDARD remover o x86_64?
Nada na entrada da Apple descreve erro, aviso ou diagnóstico de qualquer tipo. A Apple descreve a mudança de um padrão: targets em macOS ou DriverKit 27.0 ou acima “não serão compilados como Universal por padrão.”1 Um build que compila, linka e assina com uma slice de arquitetura em vez de duas é um build válido, e no Mac com Apple silicon que o Xcode 27 obriga você a usar, a diferença é invisível em tempo de execução.2 A Apple enuncia o padrão e não registra a consequência, então a palavra silencioso é minha, não dela. Verifique com lipo -archs no binário arquivado, em vez de esperar que um log de build levante o assunto.
Dá para testar o novo comportamento no Xcode 26?
Não. Rodei a verificação direto no Xcode 26.6 (build 17F113): sobrescrever MACOSX_DEPLOYMENT_TARGET para 27.0 em um projeto exclusivo de macOS continua resolvendo ARCHS_STANDARD = arm64 x86_64, idêntico ao mesmo comando com 26.0.13 A toolchain anterior não implementa o limiar, então nenhuma dose de experimentação com configurações de build no Xcode 26 antecipa a mudança. O que o Xcode 26.6 reproduz, sim, é o escopo: o mesmo projeto resolve ARCHS_STANDARD = arm64 contra o SDK do iOS e arm64 x86_64 contra o SDK do macOS, o que bate com uma entrada que cita os deployment targets de macOS e DriverKit e nada mais.113
Preciso de um Mac com Apple silicon agora?
Para rodar o Xcode 27, sim, sem ressalvas: “o Xcode 27 só será instalado e executado em Macs com Apple silicon.”2 A Apple soma um piso de software ao de hardware, exigindo macOS Tahoe 26.4 ou posterior para o Xcode 27 beta 4.4 O desenvolvimento para Intel sobrevive em toolchains mais antigas, que é como a Apple coloca a questão: “o desenvolvimento para Intel continua possível em versões do macOS que suportam Rosetta, como o macOS 27.”2 A documentação do Rosetta impõe um limite a esse caminho, afirmando que o Rosetta “estará disponível até o macOS 27” como ferramenta de uso geral, com um subconjunto reduzido depois disso, voltado a jogos antigos e sem manutenção.7
Principais conclusões
Para quem desenvolve apps de macOS:
- Audite primeiro sem a flag -sdk, leia SUPPORTED_PLATFORMS e SDKROOT juntos e ignore MACOSX_DEPLOYMENT_TARGET quando a pergunta for se o target compila para macOS. O Xcode grava um deployment target de macOS em projetos exclusivos de iOS: três dos meus informam um (26.5, 26.5 e 26.2) sem compilar para Mac nenhum.14
- Enumere os targets com xcodebuild -list antes de resolver as configurações. Uma consulta em nível de projeto na minha extensão do Safari reportou um projeto exclusivo de iOS e escondeu dois targets de macOS.14
Para times cujos usuários incluem Macs Intel:
- Decida sobre o x86_64 explicitamente, em vez de herdá-lo. Defina ARCHS quando subir um deployment target de macOS para 27.0, porque a entrada da Apple oferece exatamente essa solução e nenhum aviso caso você a ignore.1
- Verifique com lipo -archs no binário arquivado, não nas configurações de build nem no Info.plist do archive. Dois dos meus archives não carregam metadado algum de arquitetura, embora seus binários sejam Universal.14
Para quem gerencia releases: - Separe o prazo de hardware do prazo de distribuição. O Xcode 27 exige um Mac com Apple silicon desde o primeiro dia; a saída Universal continua alcançando o macOS 12 e versões posteriores, e a Apple não publicou nenhuma data de calendário para o macOS 28.24 - Inventarie plugins e pacotes de instalação Intel, não só apps. A Apple avisa que plugins Intel “podem não aparecer nos Ajustes”, e um plugin Intel obriga todo o processo hospedeiro a rodar traduzido.710
O ciclo 27 insiste em esconder mudanças consequentes em lugares banais. A remoção do linker e a regra de nome de módulo quebram builds de cara na atualização da toolchain, a macro @State os quebra no nível do código-fonte e a chave da launch screen bloqueia um envio. O padrão do Intel não quebra nada e mesmo assim muda o produto, o que faz dele algo a auditar antes de atualizar, e não depois. A série completa está reunida na Série Ecossistema Apple.
Referências
-
Apple, Xcode 27 Release Notes, seção Intel Deprecation, New Features in Xcode 27 Beta (radar 161837535). Citada integralmente no corpo deste artigo; texto original: “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. The x86_64 architecture can be added to theARCHSbuild setting if this is needed.” Registrada sob New Features, e não sob Deprecations. Verificada contra o JSON da documentação da Apple em 26 de julho de 2026, já que a página HTML renderiza seu conteúdo via JavaScript. O título da página nessa data é “Xcode 27 Beta 4 Release Notes.” ↩↩↩↩↩↩↩↩↩ -
Apple, Xcode 27 Release Notes, seção Intel Deprecation, Deprecations in Xcode 27 Beta (radar 162138432). Citada integralmente; texto original: “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.” Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. ↩↩↩↩↩↩↩↩↩↩↩
-
Apple, Xcode 27 Release Notes, Overview: “Xcode 27 beta 4 includes Swift 6.4 and SDKs for iOS 27, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27. Xcode 27 beta 4 supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS. Xcode 27 beta 4 requires a Mac running macOS Tahoe 26.4 or later.” Citada também por um resultado negativo: buscar nas notas completas em 26 de julho de 2026 por “Universal Purchase” e por qualquer requisito de distribuição na App Store atrelado a arquitetura não retornou nada, e as únicas outras ocorrências de “Universal” no documento são “Universal Clipboard”, em uma correção do Device Hub, e as próprias entradas de Intel Deprecation. ↩↩
-
Apple, Xcode Support: SDKs and system requirements. Fonte das linhas de compatibilidade comparadas aqui. Xcode 27 beta 4: macOS suportado “macOS Tahoe 26.4 or later”, deployment targets “macOS 12-27” e “DriverKit 21-27”, Swift 6.4. Xcode 26.6: macOS suportado “macOS Tahoe 26.2 - macOS Tahoe 26.x”, deployment targets “macOS 11-26.5” e “DriverKit 20-25.5”, Swift 6.3. Consultada em 26 de julho de 2026. ↩↩↩↩↩↩
-
Apple, Build settings reference, documentação do Xcode. Fonte da descrição de
ARCHS(“A list of the architectures for which the product will be built. This is usually set to a predefined build setting provided by the platform. If more than one architecture is specified, a universal binary will be produced.”), deEXCLUDED_ARCHS(“A list of architectures for which the target should not be built. These architectures will be removed from the list inARCHSwhen the target is built.”) e da entradaENABLE_POINTER_AUTHENTICATION, que documenta a dependência usada aqui: a autenticação de ponteiros “Adds an additional architectural slice (arm64e) with pointer authentication instructions toARCHS_STANDARD. Has no effect ifARCHShas been overridden to not be based onARCHS_STANDARD.” Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. ↩↩ -
Apple, macOS 27 Release Notes. Título da página na consulta: “macOS 27 Golden Gate Beta 4 Release Notes.” Citada aqui pelo status de beta do documento e por um resultado negativo: buscar nas notas completas em 26 de julho de 2026 por “Universal Purchase” e por qualquer requisito de arquitetura da Mac App Store não retornou nada, e as notas não fixam data de calendário para o macOS 28. Verificada contra o JSON da documentação da Apple. ↩↩
-
Apple, About the Rosetta translation environment, documentação de Apple silicon. Fonte do prazo, citado literalmente do primeiro aviso Important do Overview: “Rosetta was designed to make the transition to Apple silicon easier, and will be available through macOS 27 — as a general-purpose tool for Intel apps to help developers complete the migration of their apps. Beyond this timeframe, we will keep a subset of Rosetta functionality aimed at supporting older unmaintained gaming titles, that rely on Intel-based frameworks.” O mesmo aviso é a fonte de “macOS 27 directly integrates support for Intel binary translation, without needing to install Rosetta. This enables support for Intel Linux binaries running in ARM virtual machines (VMs) as well as Intel Linux containers.” O segundo aviso Important é a fonte de “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.” Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. No corpo deste artigo a frase do prazo aparece dividida em dois fragmentos citados, para não reproduzir o travessão da Apple; nenhuma palavra foi alterada ou omitida entre eles. ↩↩↩↩↩ -
Apple, macOS 27 Release Notes, seção Deprecation Information, New Features (radar 169548657): “Intel-based applications that will no longer run in macOS 28.0 now display a treatment in Get Info.” Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. ↩
-
Apple, macOS 27 Release Notes, seção EcosystemUI, New Features (radar 175697313): “Settings > General now lists Intel-based apps that will be incompatible with macOS 28.0. The list also identifies unused Intel-based software discovered on the system. The system might suggest a website where an Apple silicon native version can be found for a listed app.” Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. ↩
-
Apple, macOS 27 Release Notes, seção Rosetta, Deprecations (radar 176042635), citada na íntegra: “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. Check common plugin locations for VSTs, HAL, ARA, PDEs, Color Pickers, Quicklook & Spotlight plugins/extensions/components, such as: ~/Library/Audio/Plug-Ins/* ~/Library/Printers/ ~/Library/ColorPickers/” Registrada aqui porque a cláusula “excluding legacy games” é frequentemente omitida na cobertura secundária, e porque a frase aparece apenas sob esse radar, e não espalhada pelos vários radares relacionados a Intel a que às vezes é atribuída. Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. ↩↩↩↩
-
Apple, macOS 27 Release Notes, seção Rosetta, Deprecations. Fonte do radar 163213094, “If Rosetta was previously installed, it is not automatically restored after upgrading to macOS 27.0”, e do radar 171187112, “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.” Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. ↩↩ -
Apple, macOS 27 Release Notes, seção Rosetta, New Features (radar 168097174): “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.” Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. ↩
-
Testes do autor no macOS 26.5.2 (build 25F84) com Xcode 26.6 (build 17F113), 26 de julho de 2026. Saída dos comandos reproduzida literalmente. No projeto Cels (
SDKROOT = macosx,MACOSX_DEPLOYMENT_TARGET = 26.0), oxcodebuild -showBuildSettings -configuration Release -sdk macosxresolveARCHS = arm64 x86_64eARCHS_STANDARD = arm64 x86_64; acrescentar o overrideMACOSX_DEPLOYMENT_TARGET=27.0na linha de comando retorna linhas de arquitetura idênticas, comMACOSX_DEPLOYMENT_TARGET = 27.0, e um override explícito para 26.0 retorna o mesmo. O escopo por plataforma foi checado no projeto Reps:-sdk iphoneosresolveARCHS = arm64eARCHS_STANDARD = arm64, enquanto-sdk macosxresolvearm64 x86_64em ambos. O Xcode 27 não estava instalado na máquina usada e nenhuma saída do Xcode 27 aparece em lugar algum deste artigo. Como o Xcode 27 exige um Mac com Apple silicon e macOS Tahoe 26.4 ou posterior, o padrão alterado não pode ser observado nessa toolchain; o resultado do 26.6 estabelece apenas que a toolchain anterior não implementa o limiar. ↩↩↩↩↩↩↩ -
Auditoria do autor em 11 projetos Xcode no macOS 26.5.2 com Xcode 26.6 (build 17F113), 26 de julho de 2026: Reps, Return, Banana List, Ace Citizenship, Water, ResumeGeni, Yawara, Cels, Shikigami, ResumeGeni for Safari e Tile. Os targets foram enumerados com
xcodebuild -list -projecte cada um resolvido individualmente comxcodebuild -showBuildSettings -project ... -target ... -configuration Release. Totais: 44 targets, dos quais 21 resolvem um valor deSUPPORTED_PLATFORMScontendomacosx, distribuídos em oito projetos. Deployment targets de macOS por target entre esses 21: 26.0 (10 targets), 26.1 (três), 26.2 (dois), 26.5 (três), 15.0 (um), 13.0 (dois); o máximo é 26.5 e nenhum chega a 27.0.grep -cE "^[[:space:]]*ARCHS[[:space:]]*="e uma busca equivalente porEXCLUDED_ARCHSretornam zero nos 11 arquivosproject.pbxproj, e ofindnão localiza nenhum arquivo.xcconfigem nenhuma das 11 árvores de projeto. Seis dos 21 targets de macOS trazem umSDKROOTconcreto e resolvemARCHS_STANDARD = arm64 x86_64sem flag-sdk; os 15 restantes trazemSDKROOT = autoe não resolvem nenhuma linhaARCHS_STANDARDaté que-sdk macosxseja fornecido, após o que seus projetos resolvemarm64 x86_64. As duas armadilhas de auditoria foram confirmadas diretamente. O Shikigami, cujoproject.pbxprojdefineSDKROOT = iphoneose nenhumSUPPORTED_PLATFORMS, resolveSUPPORTED_PLATFORMS = iphoneos iphonesimulatoreARCHS_STANDARD = arm64sem flag-sdk, mas informaSUPPORTED_PLATFORMS = macosxeARCHS_STANDARD = arm64 x86_64quando-sdk macosxé passado; o Ace Citizenship, que declaraSUPPORTED_PLATFORMS = "iphoneos iphonesimulator"explicitamente, mantém seu valor real sob a mesma flag, então o artefato aparece só onde o projeto omite a configuração. O ResumeGeniForSafari resolveSUPPORTED_PLATFORMS = iphoneos iphonesimulatoreARCHS_STANDARD = arm64em nível de projeto, enquanto oxcodebuild -listinforma quatro targets, dos quaisResumeGeniForSafari-macOSeResumeGeniForSafariExtension-macOSresolvemSUPPORTED_PLATFORMS = macosxeARCHS_STANDARD = arm64 x86_64. O Cels declaraSDKROOT = macosxcom zero linhas deSUPPORTED_PLATFORMSem seuproject.pbxproj, então uma busca textual porSUPPORTED_PLATFORMSnos arquivos de projeto o perde por completo. Ace Citizenship, ResumeGeni e Shikigami informam, cada um, umMACOSX_DEPLOYMENT_TARGET(26.5, 26.2 e 26.5, respectivamente) sem compilar para Mac nenhum. Os números dos archives vêm dolipo -archsexecutado no executável principal dentro de cada.xcarchivesob~/Library/Developer/Xcode/Archives, 79 archives datados de 16 de abril a 16 de julho de 2026: 51 archives de macOS, em sete produtos distintos (941 Tiles, Banana List, Cels, LearnMateria, ResumeGeni for Safari, Return e Tile), todos reportamx86_64 arm64, e 28 archives da família iOS reportam todosarm64. Os dois archives do Cels não trazem nenhuma lista de arquiteturas emApplicationPropertiesnoInfo.plistdo archive, então oplutil -extract ApplicationProperties.Architecturesnão retorna nada para eles, enquanto olipono binário retornax86_64 arm64; oLC_BUILD_VERSIONpor slice nesse binário reportaminos 26.0esdk 26.5nas duas slices. Water e Yawara não têm archive de macOS nem produto de macOS compilado no disco, então suas linhas se apoiam apenas nas configurações de build resolvidas. A auditoria cobre somente as árvores de trabalho atuais e o diretório local de archives, não o histórico do git nem a saída de CI. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, macOS 27 Release Notes, seção Gaming, New Features (radar 166398727), citada na íntegra: “A new command line tool lets you enable support for legacy Intel-based games during beta releases. To enable it, run the following command in Terminal:
sudo game-test-tool enable. Restart your Mac computer for the change to take effect. Once enabled, games run transparently through the new underlying system behavior. Note that 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.” Citada por ser o único ponto, nos dois documentos de release notes, que descreve como a ressalva “excluding legacy games” se comporta na prática. Verificada contra o JSON da documentação da Apple em 26 de julho de 2026. ↩