---
title: "Desenvolvedores de iPhone precisam adaptar aplicativos para a chegada do iPhone Duo"
author: "Gabriela P. Torres"
date: "2026-09-25 09:00:00-03"
category: "Tecnologia & Desenvolvimento"
url: "http://desbugados.scale.press/portal/desbugados/post/2026/09/25/desenvolvedores-de-iphone-precisam-adaptar-aplicativos-para-a-chegada-do-iphone-duo/md"
---

## Resumo
- O iPhone Duo tem tela externa, tela interna maior e estados parcialmente dobrados, exigindo layouts capazes de responder a diferentes configurações.
- A InfoQ recomenda evitar dimensões fixas como UIScreen.main.bounds no desenvolvimento para o novo aparelho.
- Size classes, por meio de horizontalSizeClass e verticalSizeClass, devem substituir a dependência de uma medida única.
- As reserved regions associadas à dobra e à câmera interna precisam ser tratadas por APIs específicas.
- A API reservedRegions(kind:options:layoutDirectionBehavior:) é indicada para lidar com essas áreas reservadas.
- A Apple recomenda containers padrão, como stacks do SwiftUI, navegação e split views.
- O Xcode 27.1 deve ser usado na preparação dos aplicativos para os diferentes estados e regiões do iPhone Duo.

---

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.