ImageCreator foi descontinuada: o que quebra no iOS 27
A Apple publicou hoje um aviso de descontinuação que precisa de atenção antes do outono: a classe ImageCreator, a API do Image Playground para gerar imagens programaticamente sem UI, “está sendo descontinuada e deixará de funcionar no iOS 27, iPadOS 27, macOS 27 e visionOS 27 ou posterior.”1 O aviso é incomumente concreto sobre como a quebra se desenrola. Durante os lançamentos beta do sistema operacional, o código que usa ImageCreator ainda compila com avisos do Xcode, mas os apps “não funcionarão em builds do TestFlight e causarão um erro de runtime.”1 Nos lançamentos públicos do sistema operacional, o código deixa de compilar por completo.1 Uma API que chegou no iOS 18.4 desaparece uma versão principal depois, e a sessão da WWDC que explica o porquê também percorre o caminho de migração.
O anúncio da descontinuação aos 4:34 da sessão 375.
TL;DR
- A Apple está descontinuando a
ImageCreator, a API de geração programática de imagens no framework Image Playground. Ela deixa de funcionar no iOS 27, iPadOS 27, macOS 27 e visionOS 27.1 A documentação da Apple marca a descontinuação na 27.0 em cinco plataformas, incluindo o Mac Catalyst.2 - A quebra é em etapas: os lançamentos beta compilam com avisos, mas falham em runtime no TestFlight; os lançamentos públicos se recusam a compilar.1 A instrução da Apple é migrar “antes do lançamento público.”1
- A razão é arquitetural. Os modelos do Image Playground migraram para o Private Cloud Compute neste ano e, como a sessão coloca, “Mover os modelos para o Private Cloud Compute também significou repensar a API.”3
- A substituição é a UI do sistema: o modificador SwiftUI
imagePlaygroundSheet, ou oImagePlaygroundViewControllerpara apps UIKit e AppKit.3 A sugestão alternativa da Apple é direta: integrar “outro serviço de geração de imagens de sua escolha.”1 - O novo sheet é mais capaz do que o antigo: estilos fotorrealistas, semeadura com conceitos, desenhos e imagens de origem, configuração de tamanho e estilo, e um estilo opcional
externalProviderque expõe um provedor de terceiros como o ChatGPT.3
O que a Apple anunciou, com precisão
O aviso de 11 de junho no feed de notícias para desenvolvedores da Apple apresenta um cronograma de duas etapas.1 Nos lançamentos beta do sistema operacional, seu código continua a compilar, o Xcode começa a emitir avisos, e os apps que chamam ImageCreator encontram um erro de runtime em builds do TestFlight. Nos lançamentos públicos do sistema operacional, o código que referencia a classe deixa de compilar, e qualquer recurso construído sobre ela para de funcionar para os usuários. O item de ação da Apple nomeia o prazo: atualize sua implementação “antes do lançamento público do iOS 27, iPadOS 27, macOS 27 e visionOS 27.”1
A documentação conta a mesma história em formato de referência de API. A ImageCreator chegou no iOS e iPadOS 18.4, macOS 15.4 e visionOS 2.4, e cada linha de plataforma agora carrega uma descontinuação na 27.0, com o Mac Catalyst se juntando às quatro plataformas que o post de notícias nomeia.2 O resumo da classe descreve exatamente o que está sendo perdido: ela “gera imagens programaticamente a partir da descrição e das informações de estilo que você especifica.”2 Não há substituição programática. Apps que geravam imagens de forma headless, sem apresentar UI, não têm equivalente direto no framework.
Para desenvolvedores que já abandonaram a classe, o aviso fecha o ciclo: “Nenhuma ação adicional é necessária.”1
Por quê: os modelos migraram para o Private Cloud Compute
A sessão 375, “Create high quality images using Image Playground”, declara a razão de forma oficial. O Image Playground foi reconstruído neste ano em torno de modelos de imagem mais potentes que produzem “imagens de alta qualidade em praticamente qualquer estilo, até mesmo os fotorrealistas”, e esses modelos rodam no Private Cloud Compute, a infraestrutura de nuvem que preserva a privacidade da Apple, em vez de no dispositivo.3 Então a sessão conecta os pontos: “Mover os modelos para o Private Cloud Compute também significou repensar a API. A ImageCreator, a API sem UI para gerar imagens diretamente no seu código, está descontinuada.”3
A economia explica a escolha de design. O Image Playground agora tem um limite de uso “porque depende de modelos de servidor potentes”, com acesso ampliado disponível por meio da maioria dos planos de assinatura do iCloud+.3 O sistema gerencia esses limites em nome do usuário, e a sessão é explícita ao afirmar que o desenvolvedor nunca constrói uma UI relacionada ao uso.3 Uma API headless que os apps poderiam chamar em loop se encaixa de forma desconfortável dentro desse modelo; um sheet apresentado pelo sistema e conduzido pelo usuário não. Qualquer que seja o raciocínio interno, o resultado entregue é que a geração de imagens no framework agora passa pela experiência do sistema.
Um efeito colateral que vale nomear: a ImageCreator executava a geração no dispositivo, enquanto a nova experiência roda no Private Cloud Compute, com a garantia da sessão de que “seus dados nunca são armazenados ou compartilhados, nem mesmo com a Apple.”3 Apps com um requisito rígido de geração de imagens no dispositivo são aqueles que o framework não atende mais.
A migração: um único view modifier
Para apps SwiftUI, a adoção da substituição é pequena. O app de demonstração da sessão anexa .imagePlaygroundSheet a um botão com um binding a um booleano @State; quando o binding muda para true, o sheet aparece, e o closure de conclusão recebe uma URL para o arquivo gerado.3 A URL aponta para um local temporário dentro do contêiner do app, então a sessão avisa para salvá-la em outro lugar antes do fim da sessão.3 Apps UIKit e AppKit obtêm a mesma experiência por meio do ImagePlaygroundViewController, definindo conceitos e opções como propriedades e recebendo o resultado por um método de delegate.3
O que o sheet perde em programabilidade ele recupera em parte na semeadura. O ImagePlaygroundConcept leva o contexto do app para dentro do sheet: text envolve uma descrição direta, extracted recebe um texto mais longo e deixa o sistema extrair as ideias relevantes, e drawing aceita um PKDrawing do PencilKit como sugestão visual.3 Um parâmetro sourceImage semeia o sheet com qualquer Image do SwiftUI como inspiração.3 ImagePlaygroundOptions e ImagePlaygroundStyle configuram o resto: uma solicitação de tamanho closest(to:) mapeia qualquer CGSize para a resolução e proporção suportadas mais próximas, e o estilo de geração recebe um padrão mais uma lista permitida, travando o seletor em um único estilo quando a lista tem uma entrada.3
Dois recursos mais novos adoçam a troca. O estilo externalProvider é uma entrada opcional que expõe qualquer provedor de terceiros que o usuário tenha configurado nos Ajustes, o ChatGPT por exemplo, com o sistema cuidando da configuração quando nenhum provedor existe.3 E o estilo de emoji dispara uma conclusão separada que devolve um NSAdaptiveImageGlyph, incorporável inline com o texto como um emoji.3
O tratamento de disponibilidade permanece simples: o environment value supportsImageGeneration retorna true apenas quando o dispositivo tem a capacidade, o idioma e a região são suportados, e o usuário tem a geração de imagens habilitada, então uma única condicional cobre o caminho de fallback.3
A decisão para os apps afetados
O aviso oferece duas opções de migração, e a sessão fornece o material de julgamento. Apps cuja geração de imagens era um recurso criativo voltado ao usuário devem adotar o sheet: os novos modelos são mais fortes do que aquilo que a ImageCreator invocava, a API de semeadura leva o contexto do app para dentro, e o sistema absorve limites de uso, seletores de estilo e personalização de pessoas de graça.3 Apps que dependiam da geração headless, produzindo imagens em um fluxo em segundo plano sem interação do usuário, não têm caminho dentro do framework; para eles, a segunda opção da Apple, integrar “outro serviço de geração de imagens de sua escolha”, é a resposta honesta.1
A descontinuação também se encaixa em um padrão deste ciclo. A Apple marcou o MXMetricManager como descontinuado na 27.0 na mesma semana em que entregou as APIs de relatório substitutas, abordadas em Relatório de estado do iOS 27 com o MetricKit. A plataforma está podando APIs um ciclo após a chegada de suas substitutas, e o período beta é a janela de migração.
FAQ
Quando exatamente a ImageCreator para de funcionar?
Em etapas.1 Durante os betas do iOS 27, iPadOS 27, macOS 27 e visionOS 27, o código compila com avisos do Xcode, mas os builds do TestFlight encontram um erro de runtime. Nos lançamentos públicos deste outono, o código deixa de compilar e os recursos param de funcionar para os usuários. A documentação da Apple marca a descontinuação na 27.0 em iOS, iPadOS, macOS, Mac Catalyst e visionOS.2
Por que a Apple removeu a geração programática de imagens?
A sessão atribui isso à mudança de arquitetura: os modelos do Image Playground migraram para o Private Cloud Compute, e “mover os modelos para o Private Cloud Compute também significou repensar a API.”3 O novo sistema gerencia os limites de uso do modelo de servidor em nome do usuário, com acesso ampliado por meio dos planos do iCloud+, um modelo que se encaixa melhor em um sheet conduzido pelo usuário do que em uma API headless.3
O que a substitui?
A UI do sistema: o modificador imagePlaygroundSheet no SwiftUI ou o ImagePlaygroundViewController no UIKit e AppKit.3 Você pode semeá-la com conceitos de texto, texto extraído, desenhos do PencilKit e uma imagem de origem, e configurar tamanho, estilos e personalização. Para a geração headless, a alternativa indicada pela Apple é um serviço de geração de imagens de terceiros.1
Algo gerado ainda é feito no dispositivo?
A sessão descreve a nova geração de imagens como rodando no Private Cloud Compute, com a garantia de que os dados “nunca são armazenados ou compartilhados, nem mesmo com a Apple.”3 Apps que exigem geração de imagens estritamente no dispositivo não têm mais um caminho no framework para isso.
A transição para o Private Cloud Compute que impulsiona a mudança é a mesma que está remodelando o lado de texto do Apple Intelligence, abordada em Foundation Models e Private Cloud Compute. Para a outra descontinuação que a Apple entregou neste ciclo junto com uma substituta, veja Relatório de estado do iOS 27 com o MetricKit. O hub completo da série é a Série Apple Ecosystem.
Referências
-
Apple, Deprecation of the ImageCreator class, Apple Developer News, 11 de junho de 2026. Fonte para a descontinuação (“the ImageCreator class is being discontinued and will no longer work in iOS 27, iPadOS 27, macOS 27, and visionOS 27 or later”), o cronograma em etapas (lançamentos beta: o código compila com avisos do Xcode, os apps “will not function in TestFlight builds and will cause a runtime error”; lançamentos públicos: o código não compila e os recursos param de funcionar), a instrução de atualizar antes do lançamento público, as duas opções de migração (o sheet do Image Playground, ou “another image generation service of your choice”), e a nota de que apps já migrados não precisam de ação adicional. ↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Apple, ImageCreator documentation, Apple Developer Documentation. Fonte para a matriz de disponibilidade de plataformas (introduzida no iOS 18.4, iPadOS 18.4, macOS 15.4, visionOS 2.4; descontinuada na 27.0 em iOS, iPadOS, macOS, Mac Catalyst e visionOS) e o resumo da classe (“Generates images programmatically from the description and style information you specify”). ↩↩↩↩
-
Apple, WWDC 2026 sessão 375, Create high quality images using Image Playground. Transcrição oficial. Fonte para a declaração e justificativa da descontinuação (“Moving the models to Private Cloud Compute also meant rethinking the API. ImageCreator, the non-UI API for generating images directly in your code, is deprecated”), as novas capacidades do modelo (“high quality images in virtually any style, even photorealistic ones”), a execução no Private Cloud Compute com a garantia de privacidade (“your data is never stored or shared, even with Apple”), os limites de uso e o acesso ao iCloud+ com UI de limite gerenciada pelo sistema, o fluxo de adoção do
imagePlaygroundSheet(apresentação conduzida por binding, URL de conclusão em um local temporário do contêiner do app), oImagePlaygroundViewControllerpara UIKit e AppKit com resultados baseados em delegate, a semeadura doImagePlaygroundConcept(text,extracted,drawingcom PencilKit), o parâmetrosourceImage, oImagePlaygroundOptionscom mapeamento de tamanhoclosest(to:), os padrões de estilo e listas permitidas incluindo o travamento em um único estilo, o estilo opcionalexternalProvidercom o ChatGPT como exemplo e a configuração tratada pelo sistema, a conclusão doNSAdaptiveImageGlyphdo estilo de emoji, e o environment valuesupportsImageGenerationcobrindo capacidade, idioma e região, e a configuração do usuário. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩