Ir para o conteúdo
SV Dev
← Voltar para o blog

iOS · Engenharia com IA · Lançamento

iPhone Duo: a tarja preta no seu app é flag de compilação

A tarja preta no iPhone Duo vem do SDK com que você compilou, não do seu design. E a correção oficial da Apple é um code-mod de IA que ela admite ser incompleto.

Jeferson Guardezi
Comparação publicada pela Apple na página de desenvolvedores do iPhone Duo: o mesmo app de exemplo compilado com os SDKs do iOS 26, iOS 27 e iOS 27.1, mostrando tarja preta, quase toda a tela interna e a tela inteira com barras verticais.

Se o seu app aparece com tarja preta no iPhone Duo, o problema não é de design. É de compilação. A documentação da própria Apple diz que o jeito como o seu app aparece no iPhone dobrável de US$ 2.000 é decidido por uma coisa só: o SDK com que você compilou pela última vez. Compilado com o iOS 26 ou anterior, o app fica no centro da tela "com espaço vazio em volta da janela". Com o iOS 27, ocupa quase toda a tela interna. Com o iOS 27.1 ou posterior, ocupa a tela inteira. Sem redesign, sem entitlement, sem flag na App Store.

Tem um detalhe que torna isso mais incômodo para quem desenvolve daqui: o aparelho saiu em 23 de outubro de 2026 e o seu time provavelmente não vai ter um na mesa neste trimestre. Os seus usuários nos Estados Unidos vão. Os seus investidores também. E o calendário da Apple não pergunta onde fica o seu escritório.

Os três níveis que todo mundo está vendo

A review do The Verge separa os apps em três grupos, do lado de quem usa, e em nenhum momento diz o que coloca um app em cada grupo. Primeiro, os "apps de iPhone comuns que não foram atualizados", que "parecem bem ridículos" e são "a grande maioria dos apps hoje". Segundo, "o meio-termo bagunçado: apps atualizados para o iOS 27", em que "dá para perceber que eles não foram realmente desenhados para essas telas". Terceiro, os "apps totalmente atualizados, feitos para o iOS 27.1 específico do Duo".

O TechCrunch, escrevendo em 24 de outubro a partir de uma unidade de review cedida pela Apple, descreve o mesmo estado de lançamento: "Muitos dos apps que você usa todo dia não estavam otimizados no dia do lançamento, o que significa que eles ficam cercados de barras pretas, têm controles em lugares estranhos, ou precisam ser ampliados com um toque."

Agora coloque essa lista ao lado da lista da Apple. A comparação no topo desta página é da própria Apple, publicada sob o título "Before you begin": o mesmo app de exemplo compilado três vezes, contra três SDKs, com três resultados. Três níveis observados de qualidade, três níveis de SDK, mesma lista.

Essa é a parte que a cobertura deixou de fora, e ela muda a natureza do problema. A distância entre "parece feito para este aparelho" e "parece abandonado" não é um sprint de design. É uma flag de compilação mais uma limpeza de escopo conhecido.

O que está verificado aqui e o que é palavra da Apple

Tudo acima vem de páginas que lemos direto em 25 de outubro de 2026 — o site de desenvolvedores da Apple e duas reviews independentes, todas linkadas no fim. Algumas coisas neste texto não estão verificadas, e vale pesar cada uma pelo que ela é:

  • A eficácia da ferramenta é afirmação do fornecedor. "A skill encontra a maioria dos problemas, mas não todos" é a Apple avaliando a ferramenta da Apple. Não rodamos a skill — isso exige Xcode no macOS, que esta análise não tinha. Dá para dizer o que a Apple diz que ela faz. Não dá para dizer a taxa de acerto.
  • As três imagens de comparação são renders da Apple de um app de exemplo, não fotos de apps reais em hardware real. Elas ilustram a descrição da Apple. Não são evidência do comportamento de nenhum app específico.
  • A lista de apps que já estariam prontos no lançamento — Netflix, MLB, NYT Cooking, Slack, Fantastical — vem do press release da Apple, repassado pelo TechCrunch. Conferimos quatro dessas páginas de produto na App Store americana e não achamos prateleira de mídia específica do Duo, o que não prova nada nos dois sentidos; a vitrine web pode simplesmente ainda não expor esses assets.
  • Os números de hardware (tela externa de 5,4 polegadas, interna de 7,6, preço inicial de US$ 2.000) são especificações publicadas pela Apple e repetidas pela imprensa. Ninguém nesta análise mediu nada.

Os níveis de SDK, a lista de padrões de código e a data de abril de 2027 são a parte verificada — e é nela que o resto do texto se apoia.

A Apple entregou a migração como um code-mod de IA

Aqui está a parte que ninguém está comentando. O passo 1 do guia oficial da Apple para adotar o novo carro-chefe dela não é uma tarefa de design. É: rode um agente no seu código.

Passo 1 da Apple para o iPhone Duo: peça ao assistente de código do Xcode "get my app ready for iPhone Duo", ou rode "xcrun agent skills export" para usar a skill em outro agente, seguido da ressalva da Apple de que a skill encontra a maioria dos problemas, mas não todos.

O passo 1 é "peça ao assistente de código" — com xcrun agent skills export para quem trabalha fora do Xcode — seguido da ressalva da própria Apple. Fonte: developer.apple.com/iphone-duo/prepare/

Leia a última linha de novo, porque a Apple colocou ela no mesmo bloco da instrução: "A skill encontra a maioria dos problemas, mas não todos. Use a lista abaixo para revisar o que ela sinaliza e pegar o que ela deixou passar."

A dona da plataforma transformou um code-mod de IA no primeiro passo de adoção do aparelho mais caro do catálogo dela, e documentou por escrito que esse code-mod é incompleto. É uma documentação honesta de um jeito incomum, e ela desloca o trabalho de lugar. A migração deixou de ser a parte difícil. A revisão passou a ser.

O que o agente deveria pegar — e o que é seu

O passo 2 do guia é o checklist humano, e ele é um inventário de podridão comum em qualquer código iOS com mais de dois anos:

  • UIScreen.main e UIScreen.main.bounds
  • UIDevice.current.orientation, statusBarOrientation e interfaceOrientation, incluindo windowScene.effectiveGeometry.interfaceOrientation
  • userInterfaceIdiom == .phone e == .pad
  • tratar horizontalSizeClass == .regular como "isto é um iPad"
  • comparações literais de tamanho de tela, como bounds.height == 844
  • mídia em tela cheia presa em .scaleAspectFill ou .aspectRatio(contentMode: .fill)

Nada disso é exótico. Cada uma dessas linhas foi escrita por alguém porque existia exatamente um formato de iPhone e ele nunca ia mudar. Um aparelho dobrável é só o primeiro hardware que cobra a fatura dessa premissa.

Vale registrar: skills exportáveis do Xcode cobrindo essas mesmas APIs existem desde junho de 2026 — um xcrun agent skills export publicado lista sete delas, incluindo uma de modernização de UIKit descrita como substituir APIs legadas de estado compartilhado como UIScreen.main e interfaceOrientation. Não conseguimos confirmar que a skill de junho e a "app resizability skill" que a Apple cita em outubro são o mesmo objeto, então trate as duas como relacionadas, não idênticas. A afirmação segura é que a ferramenta é anterior ao aparelho.

O prazo tem data, e a Apple escreve ele de dois jeitos

O comunicado da Apple para desenvolvedores, de 5 de outubro de 2026, é direto e sem condições.

Comunicado da Apple para desenvolvedores: a partir de abril de 2027, qualquer app ou jogo submetido precisará incluir screenshots para o iPhone Duo.

"A partir de abril de 2027, qualquer app ou jogo submetido precisará incluir screenshots para o iPhone Duo." Fonte: developer.apple.com/news/, 5 de outubro de 2026

A página de especificações de screenshot do App Store Connect enuncia o mesmo prazo de forma mais estreita — e a diferença é um dado de planejamento, não um erro de digitação.

Especificações de screenshot do App Store Connect para o iPhone Duo: 1398 x 2034 e 2034 x 1398 pixels para a tela externa, 2007 x 2853 e 2853 x 2007 para a tela interna, com a nota de que os screenshots passam a ser exigidos em abril de 2027 para qualquer app que use o SDK do iOS 27.1 ou posterior.

Aqui o gatilho é o SDK: os screenshots passam a ser exigidos "para qualquer app que use o SDK do iOS 27.1 ou posterior". A página também traz os tamanhos de asset que você vai ter de produzir para as duas telas. Fonte: developer.apple.com

Página da AppleGatilho em abril de 2027
Comunicado para desenvolvedores (5 out 2026)"qualquer app ou jogo submetido"
Especificações de screenshot do App Store Connect"qualquer app que use o SDK do iOS 27.1 ou posterior"

Uma leitura pega toda submissão. A outra pega só os apps que já migraram de SDK. Se o seu calendário de release está montado em cima da leitura estreita, saiba que ele está montado na página mais fácil de não ler. O iPhone Duo também ainda não entrou na lista de "tamanhos de aparelho obrigatórios" do App Store Connect, que hoje cita apenas um iPhone com Dynamic Island e o iPad de 13 polegadas — ou seja, hoje isso é um prazo, não um bloqueio.

A decisão, e quem assina embaixo

O custo de fazer é um recompile contra o SDK atual mais uma limpeza cujo escopo exato a Apple já publicou para você. Um agente escreve a maior parte. Para um app de porte médio isso é um sprint, não um trimestre.

O custo de não fazer é o seu app ficar dentro de uma tarja preta no único aparelho que todo jornalista, todo investidor e todo review está segurando neste trimestre, do lado de um concorrente que gastou esse sprint. É um custo de marca, pago exatamente onde o cliente olha.

Mas a decisão que importa de verdade é a de governança, e a Apple entregou ela por escrito. Quando a dona da plataforma te dá um code-mod de IA e documenta que ele é incompleto, vêm três perguntas:

  1. Quem revisa o que o agente mudou? Um diff que mexe em código de orientação e geometria de tela espalhado pela camada de UI não é carimbo. Precisa de alguém que conheça o app.
  2. Quem é dono do resíduo? A lista do passo 2 existe porque o passo 1 não termina o serviço. Nomeie a pessoa, não o time.
  3. Como você prova que foi revisado? Se a resposta for "está em algum lugar no histórico dos PRs", você não tem resposta.

Esse é exatamente o problema que trabalhamos com clientes que estão levando software feito com IA para produção — o código gerado raramente é o risco; o código gerado sem revisão é. Já escrevemos sobre como conter código escrito por IA e sobre a dívida técnica que premissas chumbadas no código criam. O iPhone Duo é a primeira vez que a dona de uma plataforma escreveu essa pergunta no próprio site de desenvolvedores.

Pontos principais

  • Como o seu app aparece no iPhone Duo é determinado pelo SDK com que ele foi compilado pela última vez — iOS 26 ou anterior dá tarja preta, iOS 27 pega quase toda a tela interna, iOS 27.1 ou posterior pega a tela inteira.
  • Os três níveis de qualidade que os reviews descrevem são os mesmos três níveis de SDK que a Apple documenta. Recompilar muda de nível.
  • O passo 1 do guia oficial da Apple é rodar uma skill de agente de código, e a própria Apple diz que a skill "encontra a maioria dos problemas, mas não todos".
  • A lista de correções é código legado comum: UIScreen.main, APIs de orientação, checagens de idiom, premissas de size class e altura de tela chumbada.
  • A partir de abril de 2027 a App Store exige screenshots do iPhone Duo. As duas páginas da Apple escrevem o gatilho de formas diferentes — uma na submissão, outra no SDK.
  • A migração é barata. A revisão do que o agente deixou passar é a parte que precisa de dono.

Perguntas frequentes

Preciso redesenhar meu app para o iPhone Duo? Não. A documentação da Apple faz o nível de renderização depender do SDK contra o qual você compila, não do seu design. Um recompile contra o iOS 27.1 tira o app da tarja preta e leva para a tela inteira. Desenhar bem para o formato dobrável é um investimento separado e opcional em cima disso.

O que acontece se eu não fizer nada? O app continua rodando. Ele aparece no centro da tela interna com espaço vazio em volta e mostra uma tarja preta à direita na tela de capa. A partir de abril de 2027 você também esbarra na exigência de screenshots na próxima submissão.

Dá para rodar a skill da Apple com segurança em código de produção? Trate como qualquer diff gerado por agente: rode em uma branch, revise cada mudança e tenha uma pessoa nomeada assinando embaixo. A própria Apple diz que a skill não pega tudo, o que torna a revisão parte do procedimento, e não um extra opcional.

Dá para usar a skill fora do Xcode? Dá. A Apple documenta o xcrun agent skills export, que exporta as skills para uso em outros agentes de código, como Claude, Codex ou Cursor.

Quais tamanhos de screenshot vou precisar? Segundo o App Store Connect: 1398 x 2034 e 2034 x 1398 pixels para a tela externa, 2007 x 2853 e 2853 x 2007 pixels para a tela interna.

Trabalhamos com founders em qualquer lugar do mundo que têm um produto funcional construído com IA — e o bom senso de querer olhos sêniores nele antes dos usuários reais chegarem.

Receber análise

Pronto pra lançar com confiança?

30 minutos com um engenheiro sênior. A gente te diz exatamente o que separa o seu produto da produção.

Receba uma análise do seu produto

30 minutos, sem pitch, sem pressão. Se o seu produto já estiver pronto para lançar como está, vamos te dizer isso também.