O bug para quem desenvolve aplicativos para o iPhone Duo não está apenas no tamanho da tela, mas na quantidade de formas como ela pode ser usada. O aparelho tem uma tela externa, uma tela interna maior e estados parcialmente dobrados, segundo o artigo técnico da InfoQ, que detalha as mudanças necessárias para preparar aplicativos iOS. Se o código presume que existe uma única área fixa disponível, então a interface passa a depender de uma premissa que o novo dispositivo não mantém. Este guia organiza a correção em torno do que a fonte descreve: trocar medidas rígidas por regras flexíveis, reconhecer áreas reservadas e usar os recursos de layout recomendados pela Apple.
A primeira revisão deve começar pelas dimensões fixas
A primeira verificação deve procurar referências diretas a UIScreen.main.bounds, porque a InfoQ aponta que desenvolvedores devem evitar esse tipo de dimensão fixa na preparação para o iPhone Duo. A lógica é objetiva: se o aplicativo calcula seus elementos com base em uma medida única, então ele não está descrevendo como a interface deve se reorganizar quando o aparelho muda de estado. O problema não é o nome da API isoladamente, e sim o pressuposto embutido nela, isto é, tratar a tela disponível como um retângulo permanente. A adaptação começa quando essa dependência deixa de decidir sozinha o tamanho e a posição dos componentes.
Em seguida, a recomendação é adotar size classes, usando as classificações horizontal e vertical disponíveis em horizontalSizeClass e verticalSizeClass. Em termos práticos, essas classificações permitem que o aplicativo responda às características do espaço disponível em vez de repetir uma medida fixa para todos os casos. Se a área útil muda entre a tela externa, a tela interna e uma posição parcialmente dobrada, então o layout precisa de uma regra que reconheça essa mudança. É exatamente aqui que o uso de classes de tamanho substitui a tentativa de adivinhar uma largura única, conectando o cálculo da interface ao estado em que o dispositivo está sendo usado.
O layout precisa reconhecer os diferentes estados do aparelho
A partir dessa troca de abordagem, o segundo ponto é tratar os estados do iPhone Duo como condições reais de layout, e não como exceções improváveis. A fonte descreve um dispositivo com tela externa, tela interna maior e posições aberto, fechado ou parcialmente dobrado. Cada uma dessas situações altera o espaço no qual o aplicativo pode distribuir seus elementos. Se uma tela foi organizada para um único formato, então a transição para outro formato exige que os componentes sejam reposicionados conforme as regras adaptativas adotadas pelo app. O trabalho do desenvolvedor consiste em preparar essa resposta antes que a interface seja exibida em uma configuração diferente.
Além da mudança de formato, o aparelho introduz as chamadas reserved regions, áreas reservadas associadas à dobra e à câmera interna. A expressão descreve espaços que o layout precisa considerar ao posicionar seu conteúdo, porque a interface não deve ser planejada como se toda a superfície estivesse disponível da mesma maneira. A dobra e a câmera interna entram, portanto, na própria lógica de composição da tela. Se o aplicativo ignora essas regiões, então sua organização visual não incorpora uma característica física que a InfoQ identifica como parte específica do novo dispositivo. Essa é a segunda camada da adaptação, depois da substituição das dimensões fixas.
Para tratar essas áreas, a fonte cita a API reservedRegions(kind:options:layoutDirectionBehavior:). O ponto não é decorar uma assinatura de método, mas entender o que ela resolve: oferecer ao layout uma forma específica de lidar com as regiões reservadas pela dobra e pela câmera interna. A existência de uma API dedicada indica que esse cálculo não deve ser improvisado com margens arbitrárias ou coordenadas escolhidas manualmente. Se a região reservada tem tratamento próprio, então o aplicativo deve usar a ferramenta destinada a descrevê-la, mantendo a regra de posicionamento ligada ao comportamento do dispositivo. Essa separação deixa o código mais verificável, porque cada decisão passa a responder a uma condição identificável.
Containers adaptativos substituem coordenadas improvisadas
Com as dimensões e as áreas reservadas mapeadas, a Apple recomenda o uso de containers padrão, incluindo stacks do SwiftUI, navegação e split views. Containers são estruturas que organizam os elementos da interface de acordo com regras de composição, em vez de exigir que cada componente receba uma posição fixa. A vantagem prática, dentro do que a fonte descreve, é permitir que a interface se reorganize quando o espaço disponível muda. Se o aplicativo distribui seus elementos dentro dessas estruturas, então a adaptação fica apoiada em componentes previstos para organizar conteúdos em diferentes disposições, e não apenas em cálculos manuais espalhados pelo código.
Na sequência, os elementos de navegação e as barras de ferramentas precisam seguir diretrizes de design adaptativo. A recomendação alcança áreas que costumam permanecer visíveis durante o uso, por isso elas devem acompanhar a reorganização da interface em vez de ocupar um local fixo em todos os estados. O raciocínio é direto: se a tela pode ser externa, interna ou parcialmente dobrada, então os comandos de navegação e as ferramentas também precisam respeitar a disposição correspondente. A adaptação não termina quando o conteúdo principal cabe na tela, porque os controles que permitem avançar, voltar ou operar o aplicativo fazem parte do mesmo problema de layout.
Esse conjunto de mudanças também altera a forma de testar o aplicativo. Em vez de verificar apenas se os elementos aparecem em uma dimensão conhecida, o desenvolvedor precisa conferir se a composição continua coerente quando o dispositivo assume os estados descritos pela InfoQ. A tela externa, a tela interna maior, a posição parcialmente dobrada e as áreas reservadas devem ser consideradas como entradas diferentes para as regras de layout. Se o app responde a essas condições com classes de tamanho, containers e tratamento específico das regiões, então a adaptação segue os mecanismos apontados pela Apple. Caso contrário, ainda existe uma dependência de medidas rígidas a ser localizada.
O caminho de preparação passa pelo Xcode 27.1
Para colocar essa revisão em prática, a orientação consolidada é preparar os aplicativos usando o Xcode 27.1 e as APIs de layout flexíveis descritas para o iPhone Duo. A ferramenta aparece associada à necessidade de acomodar os diferentes estados do dispositivo e as áreas reservadas, portanto ela deve fazer parte da rotina de atualização dos projetos que pretendem atender ao novo formato. O passo inicial é localizar dimensões fixas; depois, substituir essa dependência por size classes, organizar os elementos em containers padrão e incluir o tratamento das reserved regions. Essa sequência transforma a adaptação em uma auditoria concreta, com pontos de verificação identificáveis.
O próximo passo para o desenvolvedor é revisar o aplicativo nessa ordem: identificar onde UIScreen.main.bounds influencia o layout, verificar como as classes horizontal e vertical são usadas, conferir o tratamento da dobra e da câmera interna com reservedRegions(kind:options:layoutDirectionBehavior:) e avaliar a organização de navegação e barras de ferramentas. A questão, no fim, é de consistência lógica: se o iPhone Duo apresenta mais de uma tela e mais de um estado físico, então o aplicativo precisa descrever mais de uma resposta visual. O Xcode 27.1, os containers adaptativos e as APIs de regiões reservadas formam a caixa de ferramentas indicada pela fonte para fazer essa transição sem depender de uma única medida fixa.