A primeira coisa que instalei após a palestra WWDC25 foi a versão beta para iPados. Havia apenas um motivo: tinha as janelas que todos queremos por tanto tempo.
E geralmente, janelas no iPad funcionam exatamente Como queremos que eles.
Mas há um problema, e eu suspeito que a causa raiz é que os engenheiros da Apple estão pensando mais em como o iPhone trabalhou nos últimos 18 anos, e não como o Mac trabalhou nos últimos 41 anos.
Desde o início, o iOS teve a noção de um aplicativo em primeiro plano ou plano de fundo. Quando você viu um aplicativo na tela, estava ativo e, quando se foi, estava inativo. O sistema operacional informou quando esse estado mudou e os desenvolvedores o usaram para todos os tipos de coisas:
- Salvando o estado do aplicativo. Por exemplo, se você estiver no meio da edição de algum texto que está apenas na memória, os dados são gravados no armazenamento local, porque não há garantia de que seu aplicativo permaneça na memória. Ninguém gosta de perder vários parágrafos de digitação porque eles mudaram para o Safari e carregaram uma página de peso pesado.
- Estado de sincronização entre dispositivos. Aplicativos como Tapeçaria e Marfim Faça isso com a posição de leitura para que você possa alternar entre os dispositivos sem problemas.
- Trocando dados com um servidor. Para tornar os aplicativos mais receptivos, os desenvolvedores geralmente fazem fila de trabalho a serem executados depois de sair do aplicativo. Este trabalho pode ser feito com uma prioridade mais baixa em segundo plano.
Foi um sistema simples que permitiu fazer o que precisava fazer, quando precisava fazê -lo. Agora, com o Windows no iPados, isso ficou muito mais difícil.
Isso porque os aplicativos permanecem ativos mesmo quando suas janelas não.
Se você está usando o iPados 26 e percebe que a economia/sincronização/troca de dados não está acontecendo, há um truque estúpido que você precisa fazer para fazer as coisas funcionarem:
Toque na tela inicial para ocultar as janelas (elas deslizam para as laterais da tela). Isso torna inativo todos os aplicativos na tela e aciona o trabalho que eles precisam fazer.
Claro, essa é uma ação completamente inintiva, difícil de lembrar, e geralmente uma dor na bunda. Especialmente quando você está em um iPad Pro com muitos imóveis em tela e tem vários aplicativos trabalhando juntos bem.
(Observe que esse problema “ocultar para sincronizar” também é um problema quando você está executando aplicativos iOS/iPados no seu Mac: você precisa ocultar uma janela para torná -la inativa. Quebra a tapeçaria.)
Há uma API no iPados para rastrear o estado de cada janela: ela tem uma “aparência ativa” que diz quando a janela tem foco. Infelizmente, nas versões mais antigas do sistema operacional, nada é relatado para esse estado, portanto, a compatibilidade com versões anteriores é um problema. Além disso, no iOS 26, o estado da janela ativo/inativo muda imprevisivelmente enquanto um aplicativo está fora da tela: minha suspeita é que o sistema operacional está tirando capturas de tela para usar no comutador de aplicativos.
Levou vários anos para as pessoas da Apple chegarem a uma solução que o Mac havia há muito tempo, e acho que é hora de reavaliar a noção do que torna um aplicativo “ativo”.
No MacOS, dois tipos de coisas podem ser ativos: um aplicativo em si ou uma de suas janelas. Um aplicativo está ativo se tiver sido lançado e possui pelo menos uma janela ativa. Uma janela está ativa se estiver frontal na tela.
Há uma distinção clara entre a atividade geral e a atividade específica do conteúdo. Se houver alguns dados globais que precisam de atenção, você trabalha com eles quando o aplicativo se tornar ativo. Se uma janela tiver alguns dados de documentos, você saberá para atualizá -los quando o estado ativo mudar.
iOS e iPados precisam da mesma distinção clara.
Para qualquer pessoa da Apple que leia, dê uma olhada no FB18443571. Ele mostra como eu trabalhei meu caminho nesse problema e cheguei à conclusão acima. Fico feliz em falar mais sobre esse problema e quaisquer soluções em potencial.