Xcode 27 chegou: requisitos, deployment targets e o que quebrou
O Xcode 27 saiu em 14 de setembro de 2026 como build 27A266a, três dias depois do item “iOS 27.0 RC” do feed e junto com o iOS 27.0 (24A437), o macOS 27.0 (26A428) e o restante das plataformas 27; no mesmo dia o App Store Connect passou a aceitar builds feitos com os SDKs 27.0 finais (GA), depois de receber builds com os SDKs RC desde 9 de setembro.15 Ele exige macOS Tahoe 26.6 ou posterior e um Mac com Apple silicon, traz o Swift 6.4 e os SDKs 27, depura dispositivos com iOS 17 ou posterior e sobe três pisos de implantação: macOS 12, watchOS 9 e DriverKit 21.23 Para projetos existentes, traz três falhas duras (a macro @State, uma quebra de código-fonte por SE-0508 e a flag de linker -ld64), uma regra de varredura de dependências que pode dar erro, uma mudança silenciosa em ARCHS_STANDARD e dois avisos; abaixo eu executo cada um deles no 27A266a.246
TL;DR
- Datas e builds. O feed de lançamentos da Apple lista o Xcode 27 (27A266a) e os seis sistemas operacionais 27.0 na segunda-feira, 14 de setembro; o item “iOS 27.0 RC (24A437)” traz a data de sexta-feira, 11 de setembro, dois dias depois de o App Store Connect começar a receber uploads com o SDK RC, e a versão GA carrega o mesmo número de build.15 As próprias notas de versão do App Store Connect de 14 de setembro dizem que você já pode enviar apps compilados com o Xcode 27 tanto para a loja quanto para o TestFlight.5
- Requisitos e pisos mudaram. O Xcode 26.6 rodava no macOS 26.2 e depurava dispositivos com iOS 15; o Xcode 27 precisa do macOS 26.6, roda só em Apple silicon e depura iOS 17, tvOS 17 e watchOS 10 ou posteriores, tanto no simulador quanto em hardware. Os deployment targets mínimos sobem de macOS 11 para 12, de watchOS 8 para 9 e de DriverKit 20 para 21; iOS, iPadOS e tvOS ficam em 15, e o visionOS em 1.23
- Três falhas duras. A macro
@State: o próprio exemplo da Apple, um inicializador que atribui uma propriedade@Statecom valor na declaração antes das outras propriedades armazenadas, falha comvariable 'self.title' used before being initialized; uma propriedade computada com um literal de array ou dicionário como valor inicial e um accessorinitnão compila quando o getter vem primeiro, uma quebra de código-fonte que a Apple atribui à SE-0508; e a flag de linker-ld64, que o Xcode 15 documentou, faz o link falhar comld: library 'd64' not found.2468 - Quatro mudanças que avisam, podem dar erro ou não dizem nada. O linker ignora
-ld_classiccom um aviso porque o ld64 não existe mais; nomes duplicados de módulos Clang dentro de uma mesma varredura de dependências “may report an error” (podem reportar um erro); um target só para macOS fixado em 27.0 compila apenas arm64 a menos que você adicione x86_64 de volta, e nada avisa; e oPreviewProvidercarrega uma descontinuação em 27.0 com “Use #Preview instead.”, enquanto cada modificador de preview traz sua própria mensagem de substituição, e o compilador não mostra nenhuma delas abaixo de um deployment target 27.0.24 - A Apple não lançou o Xcode 27.1 até 15 de setembro. Nem o feed de lançamentos nem o índice de notas de versão o listam, e a página da Apple para desenvolvedores do iPhone Duo ainda data o beta do 27.1 como “later this month” (no fim deste mês); a lacuna de SDK descrita no meu post sobre o Duo para desenvolvedores continua de pé.1 (17 de setembro: ainda nenhum 27.1, mas o Xcode 27.2 beta saiu em 16 de setembro e suas notas nomeiam o 27.1 como a versão que carrega o SDK do Duo; a atualização abaixo traz o detalhe.9) (19 de setembro: o Xcode 27.1 beta (27A9269) saiu em 18 de setembro com um SDK do iOS 27.1; a segunda atualização abaixo tem as notas.10) (1º de outubro: ainda só existe esse primeiro beta do 27.1.11) (11 de outubro: o Xcode 27.1 RC (27A9275) saiu em 5 de outubro, um RC e não a versão final, e a entrada do App Store Connect daquele dia diz “You can now upload apps built with Xcode 27.1 RC using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.” (agora você pode enviar apps compilados com o Xcode 27.1 RC usando o SDK do iOS 27.1 e os SDKs 27.0 das demais plataformas, para a App Store e para testes internos e externos pelo TestFlight).12) (14 de outubro: o Xcode 27.2 beta 3 (27B5038j) saiu; o Xcode 27.1 continua no RC e o Xcode 27 continua sendo a versão vigente; a quarta atualização abaixo traz as notas do beta 3.13) (15 de outubro: o Xcode 27.1 (27A9275) é a versão final, com o número de build do RC, datado de 13:00 no horário do Pacífico no feed de lançamentos; a página de notas mudou de título, e a entrada do App Store Connect do dia aceita os builds dele para a loja com esse nome; o Xcode 27 não é mais a versão mais recente.14)
Atualização, 17 de setembro: o beta do 27.2 veio primeiro, e o 27.1 tem uma função
O feed de lançamentos da Apple data uma onda completa de betas 27.2 na quarta-feira, 16 de setembro: Xcode 27.2 beta (27B5019j), iOS e iPadOS 27.2 beta (24B5084k), macOS 27.2 beta (26B5086k), tvOS 27.2 beta (24K5088l), visionOS 27.2 beta (24N5088l) e watchOS 27.2 beta (24S5086l), mais uma atualização do TestFlight, e nenhum item do feed cita o 27.1.9 As notas do beta do Xcode 27.2 explicam a lacuna em uma frase: “The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1.” (o SDK do iOS e o suporte do simulador ao iPhone Duo estarão disponíveis no fim deste mês em uma próxima versão do Xcode 27.1). Então o 27.1 carrega o SDK do Duo, o 27.2 é um beta separado com recursos novos próprios, e o beta mantém o piso da versão GA: “Xcode 27.2 beta requires a Mac running macOS Tahoe 26.6 or later.” (o Xcode 27.2 beta exige um Mac com macOS Tahoe 26.6 ou posterior).9
Duas entradas das notas desse beta acrescentam algo a este post, e o problema conhecido dos runtimes do simulador citado abaixo, 141290052, continua em aberto no 27.2. Em Project Format: “Xcode now supports a JSON-based project format (.xcproj) that’s more readable, merge-friendly, and easier for coding agents to edit,” (o Xcode agora suporta um formato de projeto baseado em JSON, o .xcproj, mais legível, mais amigável a merges e mais fácil de editar por agentes de código), ativado no inspetor de arquivos, e “Projects using .xcproj also open in earlier versions of Xcode 27.” (projetos que usam .xcproj também abrem em versões anteriores do Xcode 27). Em SDK, um problema conhecido: “macOS, watchOS, tvOS, and visionOS SDKs in Xcode 27.2 incorrectly report 27.1 as a valid deployment target,” (os SDKs de macOS, watchOS, tvOS e visionOS no Xcode 27.2 reportam erroneamente o 27.1 como um deployment target válido), com “unexpected behavior if this deployment target is used,” (comportamento inesperado se esse deployment target for usado) e “Mac Catalyst builds with a 27.1 or 27.2 deployment target may be unable to use newly introduced API.” (builds de Mac Catalyst com deployment target 27.1 ou 27.2 podem não conseguir usar as APIs recém-introduzidas).9 A Apple também acrescentou um problema conhecido às próprias notas do Xcode 27 entre as minhas consultas de 16 e de 17 de setembro, em Enhanced Security: “Apps with Hardware-Checked Pointer Arithmetic Slice feature enabled cannot be uploaded to the App Store on macOS Tahoe 26.6 with Xcode automatic signing enabled.” (apps com o recurso Hardware-Checked Pointer Arithmetic Slice ativado não podem ser enviados à App Store no macOS Tahoe 26.6 com a assinatura automática do Xcode ativada). A solução alternativa é “Distribute with macOS 27 and Xcode 27 or use manual signing.” (distribua com o macOS 27 e o Xcode 27 ou use a assinatura manual). Meu post sobre o arm64e.x1 registra o problema.9 Nada nas notas do beta do 27.2 toca no linker, na regra de nome de módulo, na macro @State ou nas descontinuações de preview abaixo; os três primeiros moram nas notas do Xcode 27 e a entrada sobre a @State nas notas do iOS e iPadOS 27, e as entradas do Xcode 27 citadas neste post têm em 17 de setembro o mesmo texto de 15 de setembro.69
Atualização, 19 de setembro: o beta do Xcode 27.1 saiu, com um SDK do iOS 27.1
O feed de lançamentos da Apple data o Xcode 27.1 beta (27A9269) na sexta-feira, 18 de setembro, dois dias depois da onda de betas 27.2, e o índice de release notes do Xcode agora lista três entradas 27: Xcode 27, Xcode 27.1 Beta e Xcode 27.2 Beta.10 As notas do beta do 27.1 são curtas. O Overview: “Xcode 27.1 beta includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27,” (o Xcode 27.1 beta inclui o Swift 6.4 e os SDKs do iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27 e visionOS 27), com os mesmos pisos de depuração em dispositivo do 27.0 e o mesmo requisito, “a Mac running macOS Tahoe 26.6 or later.” (um Mac com macOS Tahoe 26.6 ou posterior). Leia essa lista de SDKs como está escrita, com uma ressalva: o Overview coloca o iPadOS em 27, enquanto a linha do App Store Connect abaixo e as páginas de API da Apple dizem iPadOS 27.1 beta, e eu cito as duas em vez de resolver. O iOS 27.1 é a versão que, segundo a notícia da Apple de 16 de setembro, o iPhone Duo “will run” (vai rodar) quando chegar em 23 de outubro.10 As release notes do App Store Connect trazem a linha correspondente de 18 de setembro, em TestFlight: “You can now submit apps built with Xcode 27.1 beta using the SDK for iOS 27.1 beta or iPadOS 27.1 beta for internal and external testing.” (agora você pode enviar apps compilados com o Xcode 27.1 beta usando o SDK do iOS 27.1 beta ou do iPadOS 27.1 beta para testes internos e externos)10 A Apple também reescreveu o Overview das notas do beta do 27.2 entre minhas coletas de 17 e 19 de setembro: a frase citada na atualização acima, “The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1,” sumiu, e no lugar dela há um aviso, “Download Xcode 27.1 beta to get the iOS SDK and simulator support for iPhone Duo,” (baixe o Xcode 27.1 beta para obter o SDK do iOS e o suporte de simulador ao iPhone Duo), com link para a página de downloads.10 A documentação da Apple agora lista cinco das APIs do iPhone Duo em iOS 27.1, em beta; os nomes estão no meu post para desenvolvedores do Duo.
As notas do beta do 27.1 têm três seções, e duas delas contêm Known Issues. Em Mac Catalyst: “Projects that use APIs specific to iOS 27.1 show compile errors when building for Mac Catalyst (“undeclared identifier”, “not found”, “has no member”, “cannot find”, etc).” (projetos que usam APIs específicas do iOS 27.1 mostram erros de compilação ao compilar para Mac Catalyst) (185924957), com a solução “Use build-time conditionals like #if !targetEnvironment(macCatalyst) (Swift) or #if !TARGET_OS_MACCATALYST (ObjC) to isolate affected code,” (isolar o código afetado com condicionais de compilação), e “Projects that target iOS 27.1 show no Mac Catalyst run destination available.” (projetos que miram o iOS 27.1 não mostram nenhum destino de execução do Mac Catalyst) (187046347), com a solução “Add a Mac Catalyst 27.0 minimum deployment in target settings.” (adicionar um deployment mínimo Mac Catalyst 27.0 nas configurações do target). Eles ficam ao lado do Known Issue de SDK do beta do 27.2 citado na atualização de 17 de setembro, 187160501, que, na minha leitura, é a mesma lacuna do 27.1 vista pelo lado do SDK do macOS. Em Simulator, três Known Issues: “Initial Simulator launch can take several minutes.” (a primeira inicialização do simulador pode levar vários minutos) (187708500), “StandBy is unavailable in the iPhone Duo Simulator runtime.” (o StandBy não está disponível no runtime do simulador do iPhone Duo) (187708663) e “Running and debugging most app extensions is unavailable in the iPhone Duo Simulator runtime.” (executar e depurar a maioria das app extensions não está disponível nesse runtime) (187708767). A terceira seção, Previews, traz uma New Feature: “The canvas overrides picker now includes a Display group for previewing content on a device’s alternative display.” (o seletor de overrides do canvas agora inclui um grupo Display para pré-visualizar conteúdo na tela alternativa de um dispositivo) (182598534).10 Nada nas notas do beta do 27.1 toca o linker, a regra de nomes de módulo, a macro @State ou as depreciações de previews abaixo, e as notas do Xcode 27 recoletadas em 19 de setembro estão iguais às de 17 de setembro.10
Mais uma data pertence a este post, vinda da notícia da Apple de 9 de setembro sobre envios à App Store: “Starting April 2027, apps and games uploaded to App Store Connect need to meet the following minimum requirements: iOS and iPadOS apps must be built with the iOS 27 & iPadOS 27 SDK or later,” (a partir de abril de 2027, apps e jogos enviados ao App Store Connect precisam ser compilados com o SDK do iOS 27 e iPadOS 27 ou posterior), com os apps de tvOS, visionOS e watchOS presos do mesmo jeito aos seus SDKs 27. A página Upcoming Requirements da Apple não listava isso em 19 de setembro; a entrada mais recente continua sendo o piso de 28 de abril de 2026, Xcode 26 e os SDKs 26. Então os SDKs 27 que este post descreve viram o piso de upload em abril de 2027.10
Atualização, 1º de outubro: o Xcode 27.2 beta 2, e nenhum Xcode 27.0.1
O feed de lançamentos da Apple data o Xcode 27.2 beta 2 (27B5028f) na segunda-feira, 28 de setembro, o mesmo dia das atualizações 27.0.1 do iOS, iPadOS, macOS, visionOS e watchOS. Não há nenhum Xcode 27.0.1 no feed: o Xcode 27 (27A266a) continuava sendo a versão vigente, e o texto da página de notas dele é idêntico à minha cópia de 26 de setembro.11 As notas do beta 2 acrescentam uma ferramenta MCP GetCodeCoverage, listam como corrigidos os problemas de entrada do Device Hub do primeiro beta e ainda mandam o trabalho com o iPhone Duo para o Xcode 27.1 beta, embora listem dois problemas conhecidos próprios do iPhone Duo e repitam duas entradas do beta do 27.1 citadas na atualização de 19 de setembro, 185924957 e 182598534; o post sobre o 27.2 lê essas notas entrada por entrada. O problema dos runtimes do simulador citado abaixo, 141290052, aparece como corrigido no 27.2 beta 2; o Xcode 27 ainda o lista como Known Issue.11
Atualização, 14 de outubro: o Xcode 27.2 beta 3, e o aviso sobre o Duo sumiu
O feed de lançamentos da Apple data o Xcode 27.2 beta 3 (27B5038j) na quarta-feira, 14 de outubro, um dia depois dos quartos betas do 27.2 para iOS, iPadOS, macOS, visionOS e watchOS (o tvOS não teve nenhum). O Xcode 27 (27A266a) continuava sendo a versão vigente e o Xcode 27.1 continuava no RC de 5 de outubro (15 de outubro: o Xcode 27.1 saiu como versão final naquela tarde, build 27A9275, o build do RC; a quinta atualização abaixo trata disso), e o texto da página de notas do Xcode 27 não mudou em relação a uma cópia que salvei em 11 de outubro.13 As notas do beta 3 retiram o aviso que mandava o trabalho com o iPhone Duo para o Xcode 27.1 beta e não põem nada no lugar, então nada diz que o SDK do Duo passou para o 27.2, e, na minha leitura, o 27.1 RC continua sendo o build do Duo; acrescentam duas correções do Interface Builder para o modo de compilação toolchain; levam o problema de clonagem de simuladores para um título Simulator Runtimes, com um comando find como solução alternativa; e reclassificam o problema de reinstalação do runtime, 187950199, como resolvido no beta 2; o post sobre o 27.2 lê essas notas entrada por entrada. O problema dos runtimes do simulador citado abaixo, 141290052, que é outra entrada, continua listado como corrigido no 27.2 beta 2 e continua sendo um Known Issue na página do Xcode 27. A entrada de TestFlight do App Store Connect do mesmo dia aceita builds do 27.2 beta 3 para testes, não para a loja.13
Atualização, 15 de outubro: o Xcode 27.1 é a versão final, com o build do RC
O feed de lançamentos da Apple data o Xcode 27.1 (27A9275) na quinta-feira, 15 de outubro, às 13:00 no horário do Pacífico, oito dias antes de o iPhone Duo chegar às lojas em 23 de outubro; o número de build é o do RC de 5 de outubro.101214 A página de notas passou a se chamar “Xcode 27.1 Release Notes” e o Overview dela diz “Xcode 27.1 includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.” (o Xcode 27.1 inclui o Swift 6.4 e os SDKs do iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27 e visionOS 27), o texto do RC sem o “RC”, e os dois problemas conhecidos do simulador do iPhone Duo continuam. A entrada do App Store Connect do mesmo dia diz “You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.” (agora você pode enviar apps compilados com o Xcode 27.1 usando o SDK do iOS 27.1 e os SDKs 27.0 das demais plataformas, para a App Store e para testes internos e externos pelo TestFlight) e acrescenta “Submit your iPhone Duo optimized apps and games in App Store Connect today. Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo.” (envie hoje no App Store Connect seus apps e jogos otimizados para o iPhone Duo; a partir de abril de 2027, todo app ou jogo enviado precisará incluir capturas de tela para o iPhone Duo). O Xcode 27 (27A266a) continua no feed como a versão de 14 de setembro, e a página de notas do Xcode 27 não mudou em relação à cópia de 11 de outubro. O post sobre o 27.2 e o post sobre como preparar seu app para o iPhone Duo trazem a mesma nota.14
Atualização, 26 de outubro: os sistemas 27.2 saíram, e o Xcode 27.2 continua no RC
O feed de lançamentos da Apple data o iOS 27.2 (24B119, com um segundo build do iOS 27.2, 24B91020, no mesmo minuto), o iPadOS 27.2 (24B119), o macOS 27.2 (26B123), o tvOS 27.2 (24K122), o visionOS 27.2 (24N120) e o watchOS 27.2 (24S118) na segunda-feira, 26 de outubro, às 10:00 no horário do Pacífico. O item mais recente de Xcode no feed continua sendo o release candidate, Xcode 27.2 RC (27B48), datado de 19 de outubro às 10:00 no horário do Pacífico, e a página de notas dele ainda se chama “Xcode 27.2 RC Release Notes”, com o Overview: “Xcode 27.2 RC includes Swift 6.4 and SDKs for iOS 27.2, iPadOS 27.2, tvOS 27.2, watchOS 27.2, macOS 27.2, and visionOS 27.2. Xcode 27.2 RC supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS. Xcode 27.2 RC requires a Mac running macOS Tahoe 26.6 or later.” (o Xcode 27.2 RC inclui o Swift 6.4 e os SDKs 27.2 de todas as plataformas, suporta depuração no dispositivo no iOS 17 e posteriores, tvOS 17 e posteriores, watchOS 10 e posteriores e visionOS, e exige um Mac com macOS Tahoe 26.6 ou posterior). A entrada de 20 de outubro do App Store Connect aceita os builds dele: “You can now upload apps built with Xcode 27.2 RC using the SDK for iOS 27.2 RC, iPadOS 27.2 RC, macOS 27.2 RC, tvOS 27.2 RC, visionOS 27.2 RC, and watchOS 27.2 RC for the App Store, and for internal and external testing through TestFlight.” (agora você pode enviar apps compilados com o Xcode 27.2 RC usando os SDKs 27.2 RC, para a App Store e para testes internos e externos pelo TestFlight). Em setembro, o Xcode 27 saiu no mesmo dia que os sistemas 27.0; desta vez os sistemas saíram sem ele. A página do RC acrescenta ao que o beta 3 trazia uma lista de recursos do Device Hub (animação em câmera lenta; sacudida, queda e pressão de memória simuladas para simuladores; um menu de contexto para capturas de tela; arrastar e soltar melhorado para o ícone da captura de tela; molduras ocultas; e um grupo App Settings, 189236369), correções para o crash do Vision Pro sem um runtime do visionOS, para o item de menu de aviso de memória e para o Device Hub fechando em betas anteriores do macOS 27.2 (190126101), um problema conhecido do Device Hub, que “is unable to customize the text size for a device running iOS 18 or earlier” (não consegue personalizar o tamanho do texto de um dispositivo com iOS 18 ou anterior) (189261485), uma correção no simulador do iPhone Duo para CameraCaptureAccessory usando as duas telas (190155353), um problema conhecido novo no simulador do iPhone Duo, “When switching between the inner and outer display of the iPhone Duo simulator, modifier keys such as Shift and Command might stop working.” (ao alternar entre a tela interna e a externa do simulador do iPhone Duo, teclas modificadoras como Shift e Command podem parar de funcionar) (189465196), e uma correção para cada um de Instruments, Memory Gauge e XCTest UI Automation. O problema conhecido do SDK em que os SDKs de macOS, watchOS, tvOS e visionOS “incorrectly report 27.1 as a valid deployment target” (informam por engano o 27.1 como deployment target válido) não mudou, e a entrada de Mac Catalyst sobre “APIs specific to iOS 27.1” (APIs específicas do iOS 27.1) também não. Entre os dois itens de Xcode, o iPhone Duo saiu: a newsroom da Apple data a estreia dele nas lojas na sexta-feira, 23 de outubro, e a página de atualizações de segurança da Apple lista o iOS 27.1 só para o “iPhone Duo”, datado de 23 de outubro e sem entradas CVE publicadas; nenhum item do iOS 27.1 chegou ao feed, e o índice de release notes lista só o 27 e o 27.2, então o SDK do 27.1 que o Xcode 27.1 traz, build 24A94232 neste Mac, é o SDK de uma versão do iOS que saiu em um único telefone. O TestFlight 4.4.1, datado de 22 de outubro, acrescenta “Support for iPhone Duo.” (suporte ao iPhone Duo). O post sobre as release notes do iOS 27.2 lê as notas do 27.2, e o post sobre o beta do 27.2 guarda o registro dos betas.15
O que saiu em 14 de setembro?
| Item | Build | Data no feed |
|---|---|---|
| Xcode 27 | 27A266a | seg, 14 set 2026 |
| iOS 27.0 / iPadOS 27.0 | 24A437 | seg, 14 set; o item “iOS 27.0 RC (24A437)” do feed traz a data de sex, 11 set, e o App Store Connect recebeu uploads com o SDK RC a partir de qua, 9 set |
| macOS 27.0 | 26A428 | seg, 14 set |
| tvOS 27.0 | 24J361 | seg, 14 set |
| visionOS 27.0 | 24M362 | seg, 14 set |
| watchOS 27.0 | 24R364 | seg, 14 set |
| App Store Connect | “You can now upload apps built with Xcode 27 using the SDK for iOS 27.0, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.” (Você já pode enviar apps compilados com o Xcode 27 e os SDKs 27.0 para a App Store e para testes internos e externos pelo TestFlight.) | 14 set |
A seção Overview das notas de versão diz: “Xcode 27 includes Swift 6.4 and SDKs for iOS 27, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27. Xcode 27 supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS. Xcode 27 requires a Mac running macOS Tahoe 26.6 or later.” (O Xcode 27 inclui o Swift 6.4 e os SDKs 27, depura em dispositivo a partir de iOS 17, tvOS 17 e watchOS 10, e exige um Mac com macOS Tahoe 26.6 ou posterior.)2 Neste Mac, xcodebuild -version imprime Xcode 27.0 Build version 27A266a e swift --version imprime Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1).4
O que as release notes do Xcode 27 contêm?
As notas são uma única página em Xcode Release Notes no site de documentação para desenvolvedores da Apple, e são longas: 41 áreas com título e 296 itens de lista, que, contados, somam 134 novos recursos, 134 problemas resolvidos, 19 problemas conhecidos e 9 descontinuações. Instruments tem mais itens, 60, seguido de Device Hub com 36, Coding Intelligence com 29, Previews com 27, Previews & Playgrounds com 18, Testing com 16 e Localization com 15. As nove descontinuações ficam em C++ Standard Library, Device Hub, devicectl, Instruments, Intel Deprecation, Linking, On Demand Resources, Previews e USDKit; os itens de Linking e Intel são os que mudam os builds, e as seções abaixo os citam. Os números são a minha própria contagem dos itens de lista sob cada título, feita em 26 de setembro.2
O que o Xcode 27 exige em comparação com o 26.6?
A tabela de compatibilidade da Apple é o documento a conferir antes de atualizar uma máquina de build. As duas linhas, lado a lado:3
| Xcode 26.6 | Xcode 27 | |
|---|---|---|
| macOS para executá-lo | Tahoe 26.2 a 26.x | Tahoe 26.6 ou posterior, só Apple silicon2 |
| SDKs | iOS, tvOS, watchOS, visionOS, macOS 26.5; DriverKit 25.5 | iOS, tvOS, watchOS, visionOS, macOS 27; DriverKit 27 |
| Deployment targets | iOS 15, tvOS 15, watchOS 8, visionOS 1, macOS 11, DriverKit 20 | iOS 15, tvOS 15, watchOS 9, visionOS 1, macOS 12, DriverKit 21 |
| Dispositivos que você pode depurar | iOS 15, tvOS 15, watchOS 8, visionOS 1 ou posterior | iOS 17, tvOS 17, watchOS 10, visionOS 1 ou posterior |
| Simuladores | iOS 15, tvOS 15, watchOS 8, visionOS 1 ou posterior | iOS 17, tvOS 17, watchOS 10, visionOS 1 ou posterior |
| Compilador Swift | 6.3 | 6.4 (modos de linguagem 6, 5, 4.2 e 4) |
Duas consequências se escondem atrás dessas linhas. O Instruments agora recusa dispositivos anteriores a iOS 17, watchOS 10 ou tvOS 17, então uma bancada de profiling montada em um iPhone antigo para de funcionar antes de qualquer linha do app.2 E a Apple delimita as interações de teclado e ponteiro do Device Hub em uma única frase: “only supported on the following OS versions and newer: macOS 15.0, iOS 18.0, tvOS 18.0, watchOS 11.0, visionOS 2.0.” (só têm suporte nessas versões de sistema ou mais novas).2
A exigência de Apple silicon não tem contorno para o Mac em que você roda o Xcode, e não é novidade para quem leu o post sobre Intel em julho; as notas GA mantêm o texto de julho na íntegra: “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.” (O Xcode 27 só instala e roda em Macs com Apple silicon; o SDK do macOS 27 permite implantar apps Universal até o macOS 12; desenvolver para Intel continua possível em versões do macOS que suportam Rosetta, como o macOS 27.)2 A terceira frase é o contorno para os Macs aos quais você distribui, não para o que você usa para compilar.
O que mudou na toolchain?
O linker. As notas GA dizem em uma frase: “The ld64 linker has been removed and the -ld_classic option is no longer supported.” (o linker ld64 foi removido e a opção -ld_classic não tem mais suporte).2 É assim que fica no 27A266a: o usr/bin da toolchain contém um único binário de linker, ld, que se identifica como ld-27037.1, compilado em 25 de agosto de 2026. Passar a flag antiga não faz o link falhar. Com um hello.c contendo a única linha int main(void){return 0;}, clang hello.o -o hello_classic -Xlinker -ld_classic imprime ld: warning: -ld_classic is no longer supported and will be ignored, sai com 0 e grava o executável. A outra grafia que a Apple documentou no Xcode 15, -ld64, se sai pior:8 clang hello.c -o hello_ld64 -Wl,-ld64 falha com ld: library 'd64' not found e sai com 1, porque o novo linker lê -ld64 como -l d64, um pedido por uma biblioteca chamada d64.4 Então um projeto que carrega -ld_classic em OTHER_LDFLAGS continua compilando, com um aviso novo a cada link, e qualquer comportamento que ele obtinha do linker antigo sumiu; um projeto que carrega -ld64 para de linkar, com um erro que nunca cita o linker. Meu post sobre o ld64 audita de onde vieram essas flags e registra as duas execuções.
As arquiteturas padrão. A seção Intel Deprecation enuncia a regra: “Build targets with a min deployment target set to macOS 27.0 or DriverKit 27.0 will not build Universal by default. The ARCHS_STANDARD build setting will no longer include x86_64 when MACOSX_DEPLOYMENT_TARGET or DRIVERKIT_DEPLOYMENT_TARGET >= 27.0.” (targets com deployment target mínimo 27.0 em macOS ou DriverKit não compilam mais em Universal por padrão, porque ARCHS_STANDARD deixa de incluir x86_64).2 Eu reproduzi isso em um projeto multiplataforma (Yawara, com SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx xros xrsimulator) com xcodebuild -showBuildSettings -sdk macosx; sem o argumento -sdk o projeto não resolve ARCHS_STANDARD nenhum, um detalhe que o post sobre Intel cobre. Com MACOSX_DEPLOYMENT_TARGET = 26.0 a configuração resolve para ARCHS_STANDARD = arm64 x86_64; com 27.0 resolve para ARCHS_STANDARD = arm64, enquanto ARCHS_STANDARD_64_BIT fica em arm64 x86_64 nos dois casos.4 Nada avisa. Se você distribui em Universal e sobe o target, adicione x86_64 a ARCHS por conta própria.
A biblioteca padrão de C++. “The minimum supported deployment target on macOS for the C++ standard library has been increased to 11.0,” (o deployment target mínimo da biblioteca padrão de C++ no macOS subiu para 11.0) e as notas listam mudanças de comportamento sob “Potentially breaking changes,” começando por multi{map,set}::find, que não retorna mais necessariamente o primeiro elemento correspondente.2 A lista de novidades é longa: hashing para valores de std::chrono, zip, std::optional<T&>, std::views::indices(n) e mais.2
A varredura de dependências, e a regra que pode derrubá-la. A Apple diz que otimizou o scanner de dependências do Swift “to avoid redundant setup work and header searches when looking up Clang modules during a single dependency-scan action,” (para evitar trabalho de preparação e buscas de headers redundantes ao localizar módulos Clang dentro de uma mesma ação de varredura) e o ganho de velocidade vem com uma exigência: “every Clang module reachable from a single Swift dependency-scan action must have a unique module name. If two module maps visible to the same scan declare a Clang module with the same name, the scan may report an error. Previously, the scanner may have tolerated duplicating names.” (todo módulo Clang alcançável a partir de uma mesma varredura precisa ter nome único; se dois module maps visíveis à mesma varredura declaram um módulo Clang com o mesmo nome, a varredura pode reportar um erro, algo que o scanner talvez tolerasse antes).2 A Apple nomeia as duas formas que disparam isso: “projects or SDKs that vend the same Clang module name from more than one location on the header search path, and vendored third-party sources that ship a module.modulemap redeclaring an SDK module.” (projetos ou SDKs que expõem o mesmo nome de módulo Clang a partir de mais de um local no caminho de busca de headers, e fontes de terceiros incorporadas ao projeto que trazem um module.modulemap redeclarando um módulo do SDK).2 Como a remoção do linker, a regra dispara na atualização da toolchain, não conforme o deployment target; meu post sobre o ld64 passa dois module maps em colisão pelo scanner, compila um shim SQLite3 incorporado que esconde o módulo do SDK e audita sete projetos em busca das duas formas. No 27A266a, a primeira forma reporta exatamente o erro que o “may” (pode) da Apple antecipa: dois module maps declarando module Widget em um mesmo caminho de busca fazem swiftc -scan-dependencies imprimir error: redefinition of module 'Widget' em 20 de 20 execuções, enquanto sai com 0 em 20 de 20 e resolve o módulo para o primeiro diretório -I; o Xcode 26.6 quebrou ou abortou em 14 de 20 execuções da mesma entrada em julho. A compilação continua barrada, porque -typecheck falha em 20 de 20 com o mesmo erro. A segunda forma, um module map incorporado que redeclara o SQLite3 do SDK, passa limpa pela varredura, sem nada no stderr, e esconde o módulo do SDK em silêncio.4 O post sobre o ld64 tem as duas execuções, no 26.6 e no GA.
O que para de compilar?
A macro @State. A mudança mora nas notas de versão do iOS 27, não nas do Xcode, e depende do compilador com que você compila, não do target para o qual você implanta: “Xcode 27 introduces a new @State implementation that avoids this repeated evaluation. This new behavior back-deploys to iOS 17 aligned OSes. The new @State is implemented with a Swift macro. It is largely source compatible with the property wrapper version, with a few exceptions.” (O Xcode 27 introduz uma nova implementação de @State como macro Swift, que retroage até os sistemas alinhados ao iOS 17 e é em grande parte compatível em código-fonte com a versão de property wrapper, com algumas exceções.)6 A Apple nomeia quatro exceções e dá listagens de código para duas delas; as outras duas recebem uma ou duas frases cada: “In rare situations, the automatic inference of generic arguments of @State is less flexible with the macro implementation. Write the type with more specificity.” (em situações raras, a inferência automática de argumentos genéricos de @State é menos flexível com a macro; escreva o tipo com mais especificidade) e “Composing @State with other property wrappers or macros is not supported.” (compor @State com outros property wrappers ou macros não tem suporte).6 As duas com listagem são as que pegam código existente. Um inicializador que atribui uma propriedade @State que já tem valor na declaração: o SwiftUI sempre descartou essa atribuição, e agora “some such cases no longer compile.” (alguns desses casos não compilam mais).6 E o inicializador memberwise privado que o compilador sintetiza quando todo membro armazenado é privado: “The state macro disables this synthesized initializer. So the code above no longer compiles.” (a macro desativa esse inicializador sintetizado, então o código acima não compila mais).6 No 27A266a o primeiro exemplo falha do jeito que está escrito, com error: variable 'self.title' used before being initialized na linha que atribui page, porque o setter da macro roda contra self antes de title existir; mova self.title = title para cima e o mesmo arquivo compila, com a atribuição a @State descartada como antes.46 O segundo exemplo, uma extensão chamando self.init(page: page, title: title) em um struct cujo @State não tem valor na declaração, compilou sem alteração na minha execução, e a expansão da macro mostra a forma que permite isso: a macro emite private var _page: SwiftUICore.State<StickerPage> por trás de um accessor init com @storageRestrictions(initializes: _page), a construção que deixa um inicializador memberwise receber page:.4 Leia a nota como uma descrição de formas a verificar, e depois confirme cada uma no seu próprio código. O post sobre a macro @State conta os dois padrões em quatro apps publicados; eu o escrevi a partir das notas do beta em julho, antes deste teste GA, e a pergunta em aberto dele também se fecha aqui: atribuir o armazenamento de apoio diretamente, _page = State(initialValue:) dentro de um inicializador, compila no 27A266a com e sem valor na declaração.4
A quebra da SE-0508. Em Swift Compiler, Known Issues: “A computed property with both an init accessor and an array/dictionary literal initial value will no longer compile if the getter is declared before the init accessor.” (uma propriedade computada com um accessor init e um literal de array ou dicionário como valor inicial não compila mais se o getter é declarado antes do accessor init). Segue uma listagem de código e depois a atribuição: “This is a known source break from SE-0508.” A solução, na íntegra: “Swap the init accessor and the getter such that the init accessor is declared first.” (troque o accessor init e o getter de lugar para que o accessor init seja declarado primeiro).2 A SE-0508 é “Array expression trailing closures”, implementada no Swift 6.4, e a proposta prevê exatamente este caso: “If the getter is declared before the init accessor, we will now attempt to parse as a trailing closure,” (se o getter é declarado antes do accessor init, agora tentaremos interpretar como trailing closure) acrescentando que “init accessors are however considered for disambiguation, so swapping the accessors is sufficient to make this valid regardless of initial value used,” (os accessors init entram na desambiguação, então trocar os accessors basta para tornar isso válido independentemente do valor inicial) e que o caso “does not appear in the source compatibility suite, or for internal Swift projects at Apple.” (não aparece na suíte de compatibilidade de código-fonte nem nos projetos internos de Swift na Apple).7 Ele se reproduz com um struct de nove linhas. Com o getter primeiro, o swiftc falha na linha do accessor com error: initializers may only be declared within a type; mova o accessor init com @storageRestrictions(initializes:) para cima de get e o mesmo arquivo compila.4
struct Container {
private var storage: [Int] = []
var items: [Int] = [] {
@storageRestrictions(initializes: storage)
init(initialValue) { storage = initialValue } // precisa vir antes de get
get { storage }
set { storage = newValue }
}
}
PreviewProvider. A seção Previews lista uma descontinuação: “PreviewProvider and its family of preview modifiers.” (PreviewProvider e sua família de modificadores de preview).2 O SDK a carrega, com uma mensagem para o protocolo e outra diferente para cada modificador. Na interface SwiftUI do SDK do iOS 27, public protocol PreviewProvider fica sob @available(anyAppleOS, deprecated: 27.0, message: "Use #Preview instead."); previewLayout diz “Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.”; previewDisplayName diz “Use #Preview(“name”) instead.”; previewInterfaceOrientation diz “Use #Preview(traits: .landscapeLeft) or other orientation traits instead.”; previewDevice diz “Use the device picker in Xcode’s canvas.” (use o seletor de dispositivo no canvas do Xcode); e previewContext, junto com os protocolos PreviewContext e PreviewContextKey, diz “Use #Preview with a Widget timeline provider or entries instead.” (use #Preview com um timeline provider ou entradas de Widget).4 Dois fatos decidem se você algum dia vê essas mensagens. O compilador compara a versão da descontinuação com o deployment target, então os modificadores só avisam em um target cujo mínimo seja 27.0: um arquivo que usa previewLayout, previewDisplayName e previewDevice produziu três avisos com -target arm64-apple-ios27.0-simulator e nenhum com 17.0 ou 26.0. E o PreviewProvider em si nunca avisa, por um motivo diferente. O SDK o declara com @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) logo acima da descontinuação anyAppleOS, e na minha sondagem um protocolo com esse par não produziu aviso nenhum, nem para uma conformidade nem para um uso como tipo de parâmetro, em um target 27.0, enquanto o mesmo protocolo descontinuado só com @available(iOS, deprecated: 27.0), ou só com a forma anyAppleOS, avisou nos dois; os modificadores carregam apenas a descontinuação anyAppleOS nas próprias declarações (a extension SwiftUICore.View que os contém carrega o atributo de introdução, e essa forma herdada não suprime o aviso), e é por isso que eles avisam e o protocolo não.4 Em qualquer deployment target que você realmente distribua, o log de build fica em silêncio nos dois casos, então procure PreviewProvider e os modificadores e migre para #Preview, que o canvas agora renderiza em grades por argumento com a nova sintaxe #Preview(arguments:).24
O novo stat() do System. A biblioteca System agora oferece APIs Swift para stat, lstat, fstat e fstatat, com um tipo Stat e métodos de instância FilePath.stat().2 As notas listam como resolvido um conflito em que uma extensão chamando um stat() não qualificado colidia com os novos métodos; se você adicionou a qualificação Darwin. enquanto esse conflito estava ativo, ela pode ficar.2
Address Sanitizer, na direção contrária. “Address Sanitizer might fail to launch on iOS 27.0, tvOS 27.0, watchOS 27.0, and visionOS 27.0 when building with Xcode 26.4 or older.” (o Address Sanitizer pode falhar ao iniciar nos sistemas 27.0 ao compilar com o Xcode 26.4 ou anterior). A solução é o Xcode 26.5 ou posterior, o que importa para equipes que mantêm um Xcode mais antigo na máquina de CI enquanto os dispositivos atualizam para 27.0.2
O que mudou no IDE e nas ferramentas?
- O Interface Builder compila sem simulador. Um novo modo de compilação,
toolchain, “for UIKit (Cocoa Touch) based documents. Enabled by default,toolchainallows compiling IB documents without the need to download a simulator, which is especially useful for build servers.” (para documentos baseados em UIKit; ativado por padrão, permite compilar documentos do IB sem baixar um simulador, o que é especialmente útil em servidores de build).2 - Os simuladores iniciam mais rápido, e reiniciam. “The simulator runtimes now contain a pre-built dyld cache. This will make first launch of a simulator much faster,” (os runtimes do simulador agora contêm um cache dyld pré-construído, o que torna o primeiro início muito mais rápido) e o
simctlganha um comandoreboot.2 Um problema conhecido sobrevive, nas palavras da Apple: “Some simulator runtimes are not completely deleted when removed, re-appearing after a reboot.” (alguns runtimes do simulador não são apagados por completo ao serem removidos e reaparecem depois de um reinício).2 - O JSON do devicectl está na versão 5.
xcrun devicectl --versionreporta 642.16 elist devices --json-outputgrava"jsonVersion": 5; a Apple descontinua os camposhardwareProperties,devicePropertieseconnectionPropertiesem favor de um dicionárioproperties, e qualquer resultado que ainda os contenha carrega um_deprecationNotice.24 - Testes de StoreKit. A interface de configuração do StoreKit pode definir códigos de oferta, você pode configurar pacotes de assinatura para testes locais, e o Transaction Manager pode exercitar compras com códigos de oferta sem dispositivo.2
- Organizer. Um Insights Overview “summarizes high-impact performance regressions,” (resume as regressões de desempenho de alto impacto) e uma métrica Hitches substitui a métrica Scrolling.2
- Assistente de código. O Google Gemini entra na lista de modelos, e “Planning with agents is now first class in Xcode,” (planejar com agentes agora é recurso de primeira classe no Xcode) com planos como artefatos Markdown editáveis que você aprova antes de o agente prosseguir; meu post sobre agentes de código cobre o fluxo desde o beta, e as notas GA listam um editor Markdown exatamente para esses artefatos.2
- Localização. Agentes podem traduzir entradas de String Catalog, e exportar localizações agora extrai
NSLocalizedStringe macros semelhantes de arquivos header.2 - Icon Composer. As notas o chamam de Icon Composer 2.0, “a new sharper rendering mode for upcoming 2027 operating systems” (um novo modo de renderização mais nítido para os sistemas operacionais de 2027); o bundle dentro do 27A266a reporta a versão 27.0.24
- Testes. Um test plan pode definir como o Xcode trata um crash do app alvo durante testes de UI, de desligado a falha fatal, e
swift testganha--maximum-repetitionscom--repeat-until [pass|fail]mais um resumo de falhas no final.2 - Depuração. Com bridging headers, o LLDB “can now directly import explicitly built Swift modules and PCH from DerivedData,” (agora pode importar diretamente do DerivedData os módulos Swift construídos explicitamente e os PCH) e um comando
language swift task treelista as tasks de concorrência do Swift.2
O que eu faria esta semana
- Leia as linhas de compatibilidade antes de mexer no CI: macOS 26.6 nos Macs de build, só Apple silicon, iOS 17 como dispositivo de teste mais antigo, e o piso de macOS 12, watchOS 9 ou DriverKit 21 em que o seu produto se encaixa.23
- Faça grep por
-ld_classice-ld64e remova os dois; o linker ignora o primeiro com um aviso a cada link e falha de vez no segundo. Já que você está nas configurações de build, procure arquivosmodule.modulemapescritos à mão que redeclarem um módulo do SDK, a forma que a Apple nomeia para a regra do nome de módulo único.24 - Se você fixar qualquer target de macOS ou DriverKit em 27.0 e distribuir para Intel, defina
ARCHSexplicitamente;ARCHS_STANDARDsozinho entrega arm64, o que eu reproduzi para macOS e a Apple afirma para os dois.24 - Procure
PreviewProvider,previewLayout,previewDisplayNameepreviewDevice, e siga a mensagem de cada anotação: o protocolo para#Preview,previewLayoutpara#Preview(traits: .sizeThatFitsLayout)ou.fixedLayout(width:height:),previewDisplayNamepara#Preview("name")epreviewDevicepara o seletor de dispositivo no canvas. Os modificadores só avisam em um deployment target 27.0 e a conformidade aPreviewProvidernunca avisa em target nenhum, então o log de build de um target de produção fica em silêncio.4 - Compile uma vez com o Xcode 27 e leia dois diagnósticos:
variable 'self.title' used before being initializedem um inicializador que atribui uma propriedade@Stateque já traz valor na declaração antes das outras propriedades armazenadas, que o post sobre a macro @State percorre passo a passo, einitializers may only be declared within a typeem propriedades com um literal de array ou dicionário como valor inicial e um accessor init, onde você move o accessor para cima do getter.246 - Envie um build para o TestFlight com os SDKs 27 agora que o App Store Connect os aceita, e mantenha em mente a regra da launch screen e a obrigatoriedade de cenas do UIKit, já que as duas passam a valer para o app no momento em que ele linka contra o 27.56
Perguntas frequentes
Quando o Xcode 27 saiu?
Na segunda-feira, 14 de setembro de 2026, como build 27A266a, no mesmo dia que iOS 27.0, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0 e watchOS 27.0; o feed data o item iOS 27.0 RC (24A437) em 11 de setembro, dois dias depois de o App Store Connect começar a receber builds com o SDK RC.15
Qual macOS o Xcode 27 exige?
macOS Tahoe 26.6 ou posterior em um Mac com Apple silicon. Ele não instala nem roda em Macs Intel. Roda no macOS 27.0, que saiu no mesmo dia.23
Quais são os deployment targets mínimos no Xcode 27?
iOS 15, iPadOS 15, tvOS 15, watchOS 9, visionOS 1, macOS 12 e DriverKit 21. Em comparação com o Xcode 26.6, o watchOS subiu de 8, o macOS de 11 e o DriverKit de 20.3
O Xcode 27 ainda compila apps Universal para Mac?
Sim, até o macOS 12, mas não por padrão quando o MACOSX_DEPLOYMENT_TARGET de um target é 27.0: ARCHS_STANDARD então resolve para arm64 sozinho, e você mesmo adiciona x86_64 a ARCHS.24
O Xcode 27.1 já saiu?
Não até 15 de setembro de 2026. O feed de lançamentos da Apple e o índice de notas de versão do Xcode listam só o Xcode 27, e a página da Apple para desenvolvedores do iPhone Duo ainda lista o beta do Xcode 27.1 como “Coming later this month” (chega no fim deste mês); o SDK do iPhone Duo não faz parte deste lançamento.1 (17 de setembro: ainda nenhum 27.1. O Xcode 27.2 beta (27B5019j) saiu em 16 de setembro, e suas notas de versão dizem que o SDK do iOS e o suporte do simulador ao iPhone Duo “will be available later this month in an upcoming release of Xcode 27.1.”, ou seja, no fim deste mês, em uma próxima versão do Xcode 27.1.9) (19 de setembro: como beta, sim. O Xcode 27.1 beta (27A9269) saiu em 18 de setembro com um SDK do iOS 27.1 e, nas palavras das notas do beta do 27.2, “simulator support for iPhone Duo,” (suporte de simulador ao iPhone Duo), e o App Store Connect aceita os builds dele para o TestFlight; ainda não há versão final 27.1, e a notícia da Apple de 16 de setembro diz que o iPhone Duo “will run iOS 27.1” (vai rodar o iOS 27.1) quando chegar em 23 de outubro.10) (1º de outubro: ainda só existe o primeiro beta do 27.1, 27A9269.11) (11 de outubro: como RC, sim. O Xcode 27.1 RC (27A9275) saiu em 5 de outubro com o Swift 6.4 e o SDK do iOS 27.1, e o App Store Connect aceita os builds dele para a App Store; o feed de lançamentos ainda não lista nenhuma versão final do Xcode 27.1.12) (14 de outubro: ainda o RC; o Xcode 27.2 beta 3 saiu nesse dia sem nenhuma versão final do Xcode 27.1 ao lado.13) (15 de outubro: sim, como versão final. O Xcode 27.1 (27A9275), o build do RC, está datado de 13:00 no horário do Pacífico no feed de lançamentos da Apple; a página de notas passou a se chamar “Xcode 27.1 Release Notes”, e a entrada do App Store Connect do dia diz “You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.” (agora você pode enviar apps compilados com o Xcode 27.1 usando o SDK do iOS 27.1 e os SDKs 27.0 das demais plataformas, para a App Store e para testes internos e externos pelo TestFlight).14)
Onde estão as notas de versão do Xcode 27?
No site de documentação para desenvolvedores da Apple, em Xcode Release Notes, uma página para o lançamento; as seções citadas aqui são Overview, Linking, Intel Deprecation, Previews, Swift Compiler, Address Sanitizer, Instruments, Device Hub, devicectl, Simulator, Interface Builder, C++ Standard Library, Organizer, Coding Intelligence, Source Editor, Icon Composer, StoreKit Testing in Xcode, Localization, Testing, Swift Package Manager, Debugging, System e, desde a atualização de 17 de setembro, Enhanced Security.29 A mudança da macro @State está, em vez disso, nas notas de versão do iOS e iPadOS 27, em SwiftUI.6
Fontes
-
Apple, Releases, feed RSS consultado em 15 de setembro de 2026: “Xcode 27 (27A266a)”, “iOS 27.0 (24A437)”, “iPadOS 27.0 (24A437)”, “macOS 27.0 (26A428)”, “tvOS 27.0 (24J361)”, “visionOS 27.0 (24M362)”, “watchOS 27.0 (24R364)” e “App Store Connect Update”, todos datados de segunda-feira, 14 de setembro de 2026; “iOS 27.0 RC (24A437)” datado de sexta-feira, 11 de setembro de 2026. O índice de Xcode Release Notes lista uma única entrada 27, “Xcode 27 Release Notes”; nenhum item 27.1 aparece em nenhum dos dois lugares. Apple Developer, Get Ready for iPhone Duo, consultada em 15 de setembro de 2026: “Xcode 27.1 beta. Get the latest SDKs to build, run, and test your app for iPhone Duo. Coming later this month”. ↩↩↩↩↩
-
Apple, Xcode 27 Release Notes, consultadas em 15 de setembro de 2026 após o lançamento GA. Seções citadas: Overview; Linking, Deprecations (“The ld64 linker has been removed and the
-ld_classicoption is no longer supported.” 165165518); Intel Deprecation, New Features (ARCHS_STANDARD, 161837535) e Deprecations (só Apple silicon, citada na íntegra, 162138432); Previews, Deprecations (“PreviewProviderand its family of preview modifiers.” 144168701) e New Features (#Preview(arguments:), 167544057); Swift Compiler, New Features (scanner de dependências e a exigência de nome de módulo único, em trechos, 136303612) e Known Issues (SE-0508, 180969028; frase da solução citada na íntegra); System, New Features e Resolved Issues (177911316); Address Sanitizer, Known Issues (178072780); Instruments, Deprecations (166097304); Device Hub, Deprecations (160482487); devicectl, New Features (170812159) e Deprecations (183772705); Simulator, New Features (179846743, 172303413) e Known Issues (141290052); Interface Builder, New Features; C++ Standard Library, New Features e Deprecations; Organizer; Coding Intelligence (171990272, 172857081); Source Editor, New Features (editor Markdown, 175022151); Localization; Icon Composer; StoreKit Testing in Xcode; Testing; Swift Package Manager, New Features (--maximum-repetitions, 177561078; resumo de falhas, 168311253); Debugging. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, Xcode support: minimum requirements and supported SDKs, consultada em 15 de setembro de 2026. Linha do Xcode 27: macOS Tahoe 26.6 ou posterior; SDKs iOS 27, tvOS 27, watchOS 27, visionOS 27, macOS 27, DriverKit 27; deployment targets iOS 15 a 27, iPadOS 15 a 27, tvOS 15 a 27, watchOS 9 a 27, visionOS 1 a 27, macOS 12 a 27, DriverKit 21 a 27; suporte a dispositivos iOS 17, tvOS 17, watchOS 10, visionOS 1 ou posterior; simulador iOS 17, tvOS 17, watchOS 10, visionOS 1 ou posterior; compilador Swift 6.4 com modos de linguagem 6, 5, 4.2 e 4. Linha do Xcode 26.6: macOS Tahoe 26.2 a 26.x; SDKs em 26.5 com DriverKit 25.5; deployment targets iOS 15, tvOS 15, watchOS 8, visionOS 1, macOS 11, DriverKit 20; suporte a dispositivos e simulador a partir de iOS 15, tvOS 15, watchOS 8, visionOS 1; Swift 6.3. ↩↩↩↩↩↩
-
Reprodução do autor no Xcode 27.0 (27A266a) com
DEVELOPER_DIRapontado para ele, macOS 26.6.2 (25G83), 15 de setembro de 2026.xcodebuild -version: “Xcode 27.0 Build version 27A266a”;swift --version: “Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)”; ousr/binda toolchain lista um único linker,ld, eld -vimprime “PROJECT:ld-27037.1” compilado em “Aug 25 2026”; com umhello.ccontendoint main(void){return 0;},clang hello.o -o hello_classic -Xlinker -ld_classicimprimiu “ld: warning: -ld_classic is no longer supported and will be ignored” e saiu com 0, eclang hello.c -o hello_ld64 -Wl,-ld64imprimiu “ld: library ‘d64’ not found” e “clang: error: linker command failed with exit code 1 (use -v to see invocation)” e saiu com 1 sem arquivo de saída.xcodebuild -showBuildSettings -sdk macosxno Yawara.xcodeproj, um projeto multiplataforma (SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx xros xrsimulator) que não imprime linhaARCHS_STANDARDnenhuma sem um argumento-sdk:ARCHS_STANDARD = arm64 x86_64comMACOSX_DEPLOYMENT_TARGET = 26.0,ARCHS_STANDARD = arm64com 27.0,ARCHS_STANDARD_64_BIT = arm64 x86_64nos dois. O structContainerde nove linhas comvar items: [Int] = []e um accessor@storageRestrictions(initializes: storage) init(initialValue): com o getter primeiro falha com “error: initializers may only be declared within a type” na linha doinit; com o accessor primeiro compila com saída 0.SwiftUI.swiftmodule/arm64e-apple-ios.swiftinterfaceno SDK do iPhoneOS 27.0:@available(anyAppleOS, deprecated: 27.0, message: "Use #Preview instead.")nas linhas 14971 (public protocol PreviewProvider), 14978 (sua extensão) e 14991 (PreviewPlatform); “Use #Preview with a Widget timeline provider or entries instead.” em 15023 (PreviewContextKey), 15029 (PreviewContext) e 15069 (previewContext); “Use the device picker in Xcode’s canvas.” em 15053 (previewDevice); “Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.” em 15058 (previewLayout); “Use #Preview("name") instead.” em 15063 (previewDisplayName); “Use #Preview(traits: .landscapeLeft) or other orientation traits instead.” em 15075 (previewInterfaceOrientation); umswiftc -cde uma conformidade simples aPreviewProvidernão emitiu aviso com-target arm64-apple-ios27.0-simulator,ios26.0nemios17.0; um arquivo aplicandopreviewLayout(.sizeThatFits),previewDisplayName("Card")epreviewDevice(PreviewDevice(rawValue: "iPhone 18 Pro"))dentro de umPreviewProvideremitiu três avisos[#DeprecatedDeclaration]comios27.0(“‘previewLayout’ was deprecated in any Apple OS 27.0: Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.” e as mensagens correspondentes depreviewDisplayNameepreviewDevice) e nenhum comios26.0nemios17.0. Uma sondagem com quatro protocolos, cada um com um struct em conformidade e um parâmetroany Pem uma assinatura de função, compilada com-target arm64-apple-ios27.0-simulator:@available(iOS, deprecated: 27.0)sozinho,@available(anyAppleOS, deprecated: 27.0)sozinho e@available(iOS 13.0, *)acima de@available(iOS, deprecated: 27.0)avisaram cada um na linha da conformidade e no tipo do parâmetroany P(“‘P1’ was deprecated in iOS 27.0”, “‘P2’ was deprecated in any Apple OS 27.0”, “‘P4’ was deprecated in iOS 27.0”), enquanto o par do SDK,@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)acima de@available(anyAppleOS, deprecated: 27.0), não produziu aviso em nenhum dos dois; as chamadas de método por esses existenciais não produziram diagnóstico para nenhum dos quatro, e comios26.0nenhum dos quatro avisou. Na interface,PreviewProviderfica nas linhas 14970 a 14972 sob exatamente esse par;previewLayout, nas linhas 15058 a 15059, carrega só a descontinuaçãoanyAppleOSna própria declaração, dentro de umaextension SwiftUICore.Viewcujo atributo de introdução fica na linha 15051. Um arquivo com duas views atribuindo_page = State(initialValue: StickerPage(title: title))dentro deinit(title:), uma com@State private var page: StickerPagee outra com@State private var page = StickerPage(), compilou comios27.0com saída 0 e sem diagnósticos. As sondagens de@State, cada uma umStickerPageViewcom@State private var pageelet title: String, compiladas comswiftc -c -target arm64-apple-ios27.0-simulatorcontra o SDK do iPhoneSimulator 27.0: o primeiro exemplo da Apple,@State private var page = StickerPage()com uminit(title:)que atribuiself.pagee depoisself.title, falhou com “error: variable ‘self.title’ used before being initialized” na linha deself.page, saída 1; o mesmo arquivo comself.title = titlemovido para cima da atribuição deself.pagecompilou, saída 0; o segundo exemplo da Apple,@State private var page: StickerPagesem valor inicial e uma extensão chamandoself.init(page: page, title: title), compilou, saída 0, e-Xfrontend -dump-macro-expansionsmostrou a macro emitindoprivate var _page: SwiftUICore.State<StickerPage>com um accessor@storageRestrictions(initializes: _page) init(initialValue).xcrun devicectl --version: 642.16;devicectl list devices --json-outputgravou"jsonVersion": 5. OInfo.plistdo Icon Composer dentro do 27A266a:CFBundleShortVersionString27.0. Sondagens de module map contra o SDK do iPhoneSimulator 27.0 com-target arm64-apple-ios27.0-simulator: dois diretórios, cada um com ummodule.modulemapque declaramodule Widget, mais um únicomain.swiftque o importa; com os dois no caminho de busca,swiftc -typechecksaiu com 1 em 20 de 20 execuções (“error: redefinition of module ‘Widget’”, “note: previously defined here”) eswiftc -scan-dependenciessaiu com 0 em 20 de 20 execuções, imprimindo o mesmo erro e a mesma nota no stderr em toda execução e gravando um grafo cuja entradaWidgetaponta para o module map do primeiro diretório, e para o module map do outro diretório assim que inverti os dois argumentos-I; umVendor/module.modulemapdeclarandoSQLite3no caminho de busca passou pela varredura com saída 0 e stderr vazio em 20 de 20 execuções, resolveuSQLite3para o module map incorporado, e um arquivo chamandosqlite3_openfalhou na checagem de tipos com “error: cannot find ‘sqlite3_open’ in scope” até o diretório sair do caminho de busca. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, App Store Connect release notes, consultadas em 15 de setembro de 2026. A entrada de 14 de setembro de 2026 está citada na íntegra na tabela acima; as entradas de 9 de setembro de 2026 registram os uploads com o SDK RC e acrescentam especificações de capturas de tela e prévias de app para iPhone Duo, iPhone 18 Pro Max, iPhone 18 Pro, Apple Watch Ultra 4 e Apple Watch Series 12, com “Support for uploading assets for iPhone Duo in App Store Connect will be available later this year.” (o upload de recursos para o iPhone Duo no App Store Connect estará disponível ainda este ano). ↩↩↩↩↩
-
Apple, iOS & iPadOS 27 Release Notes, SwiftUI, New Features (105893279), consultadas em 15 de setembro de 2026. Fonte de “Xcode 27 introduces a new
@Stateimplementation that avoids this repeated evaluation. This new behavior back-deploys to iOS 17 aligned OSes. The new@Stateis implemented with a Swift macro. It is largely source compatible with the property wrapper version, with a few exceptions.”; de “If you provide an initial value at@Statedeclaration, and also try to assign a value to it in an initializer, the initializer value is discarded. This behavior has not changed because of the macro, but some such cases no longer compile:” com a listagem deStickerPageView; de “When all stored members of a struct are private, the compiler synthesizes a private init that can be used in an extension of the same type:” com sua listagem; e de “The state macro disables this synthesized initializer. So the code above no longer compiles. To mitigate, assign value to members explicitly:”; também das duas exceções sem listagem, “In rare situations, the automatic inference of generic arguments of@Stateis less flexible with the macro implementation. Write the type with more specificity.” e “Composing@Statewith other property wrappers or macros is not supported.” A seção UIKit do mesmo documento traz as duas exigências citadas no passo 6: New Features, “iOS and iPadOS apps built with the 27.0 SDK or later are required to include a launch screen.” (168247372), e Deprecations, “Apps built with the latest SDK must adopt the scene-based life cycle or they fail to launch.” (141837548). ↩↩↩↩↩↩↩↩↩↩↩ -
Cal Stephens, SE-0508: Array expression trailing closures, Swift Evolution, status “Implemented (Swift 6.4)”, implementação swiftlang/swift#86244, consultada em 15 de setembro de 2026. A subseção “Init accessors” é a fonte de “One other case where this can result in an error is for properties with both an
initaccessor and initial value that is either an array or dictionary literal. If the getter is declared before theinitaccessor, we will now attempt to parse as a trailing closure:”, da frase sobre desambiguação citada acima e de “This particular case appears to be quite rare in practice, it does not appear in the source compatibility suite, or for internal Swift projects at Apple.” ↩ -
Apple, Xcode 15 Release Notes, Linking, New Features (108915312), consultadas em 15 de setembro de 2026: “The classic linker can still be explicitly requested using -ld64, and will be removed in a future release.” (o linker clássico ainda pode ser pedido explicitamente com -ld64 e será removido em uma versão futura). ↩↩
-
Apple, Releases, feed RSS consultado em 17 de setembro de 2026, com data de último build Wed, 16 Sep 2026 14:00:00 PDT. Itens datados de quarta-feira, 16 de setembro de 2026: “TestFlight Update”, “Xcode 27.2 beta (27B5019j)”, “iOS 27.2 beta (24B5084k)”, “iPadOS 27.2 beta (24B5084k)”, “macOS 27.2 beta (26B5086k)”, “tvOS 27.2 beta (24K5088l)”, “visionOS 27.2 beta (24N5088l)”, “watchOS 27.2 beta (24S5086l)”; nenhum título de item contém 27.1. Apple, Xcode 27.2 Beta Release Notes, consultadas pelo endpoint JSON de documentação em 17 de setembro de 2026: Overview (a frase sobre o iPhone Duo e a exigência do macOS Tahoe 26.6), Project Format, New Features (184661114), SDK, Known Issues (187160501). As seções das notas são General, Device Hub, Previews, Previews & Playgrounds, Project Format, SDK e Simulator; nenhuma menciona o ld64, nomes de módulo, a
@Stateou oPreviewProvider. As Xcode 27 Release Notes, consultadas de novo no mesmo dia, trazem sem alteração as entradas do Xcode 27 citadas neste post, e uma entrada ausente em 16 de setembro: Enhanced Security, Known Issues (187057599), citada na atualização. O problema conhecido de Simulator nas notas do beta do 27.2 é o 141290052. ↩↩↩↩↩↩↩↩ -
Apple, Releases, feed RSS coletado em 19 de setembro de 2026, última data de build Fri, 18 Sep 2026 14:00:00 PDT: “Xcode 27.1 beta (27A9269)” datado Fri, 18 Sep 2026 10:00:00 PDT e “TestFlight Update” datado Fri, 18 Sep 2026 14:00:00 PDT. Apple, Xcode 27.1 Beta Release Notes, coletadas pelo endpoint JSON da documentação em 19 de setembro de 2026: Overview (citado pela lista de SDKs e pelo requisito macOS Tahoe 26.6); Mac Catalyst, Known Issues (185924957, 187046347, cada um com sua solução); Previews, New Features (182598534); Simulator, Known Issues (187708500, 187708663, 187708767); as notas não têm outras seções. O índice de release notes do Xcode, coletado no mesmo dia, lista Xcode 27 Release Notes, Xcode 27.1 Beta Release Notes e Xcode 27.2 Beta Release Notes. Apple, release notes do App Store Connect, 18 de setembro de 2026, TestFlight update, citada na íntegra. Apple, Xcode 27.2 Beta Release Notes, coletadas em 17 e 19 de setembro de 2026: as duas coletas diferem só no Overview, onde a frase de 17 de setembro “The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1.” foi substituída por um aviso, “Download Xcode 27.1 beta to get the iOS SDK and simulator support for iPhone Duo.”, cujo link aponta para https://developer.apple.com/download/applications/. As Xcode 27 Release Notes coletadas em 19 de setembro são idênticas à coleta de 17 de setembro. Apple, “Get ready with the latest beta releases”, notícias, 16 de setembro de 2026: “When iPhone Duo becomes available on October 23, it will run iOS 27.1.” Apple, “App Store submissions now open for the latest OS releases”, notícias, 9 de setembro de 2026, o parágrafo que começa com “Starting April 2027”, citado; Apple, Upcoming Requirements, coletada em 19 de setembro de 2026, entrada mais recente “SDK minimum requirements”, “Since April 28, 2026”. Apple, ArrangementView, JSON da documentação coletado em 19 de setembro de 2026, disponibilidade iOS 27.1 e iPadOS 27.1, marcada como beta. A mesma disponibilidade, iOS 27.1 e iPadOS 27.1 em beta, aparece nas páginas de UIArrangementViewController, reservedRegions(kind:options:layoutDirectionBehavior:), reservedRegions(kind:options:) e toolbarVerticalBehavior(_:), cada uma coletada no mesmo dia. ↩↩↩↩↩↩↩↩↩↩
-
Apple, Releases, feed RSS coletado em 1º de outubro de 2026: “Xcode 27.2 beta 2 (27B5028f)” datado Mon, 28 Sep 2026 10:00:00 PDT ao lado de “iOS 27.0.1 (24A446)”, “iPadOS 27.0.1 (24A446)”, “macOS 27.0.1 (26A434)”, “visionOS 27.0.1 (24M372)” e, às 13:00:00 PDT, “watchOS 27.0.1 (24R365)”; os itens de Xcode do feed são “Xcode 27.2 beta 2 (27B5028f)”, “Xcode 27.1 beta (27A9269)”, “Xcode 27 (27A266a)” e “Xcode 26.6 (17F113)”. Apple, Xcode 27.2 Beta 2 Release Notes e Xcode 27 Release Notes, coletadas pelo endpoint JSON da documentação em 1º de outubro de 2026; o texto da página do Xcode 27 confere com a coleta de 26 de setembro. ↩↩↩↩
-
Apple, Releases, feed RSS coletado em 11 de outubro de 2026, data da última atualização do feed Tue, 06 Oct 2026 10:00:00 PDT: “Xcode 27.1 RC (27A9275)” datado Mon, 05 Oct 2026 10:00:00 PDT; os itens de Xcode do feed são “Xcode 27.1 RC (27A9275)”, “Xcode 27.2 beta 2 (27B5028f)”, “Xcode 27.1 beta (27A9269)”, “Xcode 27 (27A266a)” e “Xcode 26.6 (17F113)”. Apple, App Store Connect release notes, coletadas em 11 de outubro de 2026, entrada datada de 5 de outubro de 2026, “App Store Connect updates”, citada. Apple, Xcode 27.1 RC Release Notes, coletadas em 11 de outubro de 2026, Overview: “Xcode 27.1 RC includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.” ↩↩↩
-
Apple, Releases, feed RSS coletado em 15 de outubro de 2026 às 04:36 UTC (14 de outubro, 21:36 no horário do Pacífico): “Xcode 27.2 beta 3 (27B5038j)” datado Wed, 14 Oct 2026 10:00:00 PDT; “iOS 27.2 beta 4 (24B5110a)”, “iPadOS 27.2 beta 4 (24B5110a)”, “macOS 27.2 beta 4 (26B5112a)”, “visionOS 27.2 beta 4 (24N5114a)” e “watchOS 27.2 beta 4 (24S5112a)” datados Tue, 13 Oct 2026 10:00:00 PDT; os itens de Xcode do feed são “Xcode 27.2 beta 3 (27B5038j)”, “Xcode 27.1 RC (27A9275)”, “Xcode 27.1 beta (27A9269)”, “Xcode 27 (27A266a)” e “Xcode 26.6 (17F113)”. Apple, Xcode 27.2 Beta 3 Release Notes, coletadas pelo endpoint JSON da documentação em 15 de outubro de 2026 às 04:38 UTC (14 de outubro, 21:38 no horário do Pacífico) e comparadas com a cópia do beta 2 salva em 14 de outubro de 2026 às 05:09 UTC (13 de outubro, 22:09 no horário do Pacífico) para o post sobre o HomeView: sem aviso; Interface Builder, Resolved Issues (186354589, 187747632); Simulator Runtimes, Known Issues (188407822); Simulator, Resolved Issues in Xcode 27.2 Beta 2 (141290052, 187950199). Apple, Xcode 27 Release Notes, coletadas pelo endpoint JSON da documentação em 15 de outubro de 2026 às 05:03 UTC (14 de outubro, 22:03 no horário do Pacífico): o conteúdo é idêntico a uma cópia salva em 11 de outubro de 2026, e 141290052 continua em Simulator, Known Issues. Apple, App Store Connect release notes, coletadas em 15 de outubro de 2026 às 05:04 UTC (14 de outubro, 22:04 no horário do Pacífico), entrada datada de 14 de outubro de 2026, “TestFlight update”: “You can now submit apps built with Xcode 27.2 beta 3 using the SDK for iOS 27.2 beta 4, iPadOS 27.2 beta 4, macOS 27.2 beta 4, tvOS 27.2 beta 3, visionOS 27.2 beta 4, and watchOS 27.2 beta 4 for internal and external testing.” ↩↩↩↩
-
Apple, Releases, feed RSS coletado em 15 de outubro de 2026 às 17:16 no horário do Pacífico (00:16 UTC, 16 de outubro): “Xcode 27.1 (27A9275)” datado Thu, 15 Oct 2026 13:00:00 PDT, o mesmo número de build do item do RC de 5 de outubro da coleta de 11 de outubro, que o feed não traz mais. Apple, Xcode 27.1 Release Notes, coletadas pelo endpoint JSON da documentação em 15 de outubro de 2026 às 17:21 no horário do Pacífico, com o título alterado de “Xcode 27.1 RC Release Notes”; Overview: “Xcode 27.1 includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.”; os dois Known Issues do simulador do iPhone Duo, 187708663 e 187708767, sem mudança. Apple, App Store Connect release notes, coletadas em 15 de outubro de 2026 às 17:20 no horário do Pacífico, entrada datada de 15 de outubro de 2026, “App Store Connect updates”: “You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.” e “Submit your iPhone Duo optimized apps and games in App Store Connect today. Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo.” O feed de notícias para desenvolvedores da Apple, coletado na mesma hora, não traz nenhum item sobre a versão. Apple, Xcode 27 Release Notes, coletadas pelo endpoint JSON da documentação em 15 de outubro de 2026 às 17:26 no horário do Pacífico: o texto é idêntico à cópia salva em 11 de outubro de 2026. Os itens de Xcode do feed na coleta das 17:16: “Xcode 27.1 (27A9275)”, “Xcode 27.2 beta 3 (27B5038j)”, “Xcode 27.1 beta (27A9269)”, “Xcode 27 (27A266a)” e “Xcode 26.6 (17F113)”. ↩↩↩↩
-
Apple, Releases, feed RSS coletado em 26 de outubro de 2026 às 16:12 no horário do Pacífico: “iOS 27.2 (24B91020)”, “iOS 27.2 (24B119)”, “iPadOS 27.2 (24B119)”, “macOS 27.2 (26B123)”, “tvOS 27.2 (24K122)”, “visionOS 27.2 (24N120)” e “watchOS 27.2 (24S118)” datados Mon, 26 Oct 2026 10:00:00 PDT; “TestFlight 4.4.1” datado Thu, 22 Oct 2026 14:00:00 PDT; “Xcode 27.2 RC (27B48)” datado Mon, 19 Oct 2026 10:00:00 PDT, o item de Xcode mais recente; nenhum título de item cita uma versão iOS 27.1. Apple, Xcode 27.2 RC Release Notes, obtidas pelo endpoint JSON da documentação em 26 de outubro de 2026, servidas com Last-Modified de Mon, 19 Oct 2026 04:56:10 GMT: Overview, citado; Device Hub, New Features (189236369), Resolved Issues (188313956, 188326513), Known Issues (189261485 com FB25077755, 189465196 com contorno), citados; Instruments (168530263), Memory Gauge (187611943), XCTest UI Automation (188422137); Mac Catalyst, Known Issues (185924957); SDK, Known Issues (187160501), citado; Simulator, Resolved Issues (190126101, 190155353). Apple, App Store Connect release notes, coletadas em 26 de outubro de 2026: entrada de 20 de outubro de 2026, citada na íntegra; 22 de outubro de 2026, “TestFlight update”: “TestFlight 4.4.1 is now available on the App Store for iPhone and iPad. This update includes: Support for iPhone Duo. Stability improvements and bug fixes.” Apple Support, “Apple security releases”, coletada em 26 de outubro de 2026: a linha “iOS 27.1,” “This update has no published CVE entries.,” “iPhone Duo,” “23 Oct 2026.” Apple Newsroom, “iPhone Duo arrives at Apple Store locations worldwide”, 23 de outubro de 2026: “On Friday, October 23, the highly anticipated iPhone Duo made its debut at Apple Store locations worldwide.” O índice iOS & iPadOS Release Notes, coletado em 26 de outubro, lista apenas “iOS & iPadOS 27 Release Notes” e “iOS & iPadOS 27.2 Release Notes”. Mac do autor, 26 de outubro de 2026, Xcode 27.1 (27A9275): o
SystemVersion.plistdos SDKs iPhoneOS e iPhoneSimulator 27.1 informaProductBuildVersion24A94232. ↩