ImageCreator est déprécié : ce qui casse dans iOS 27
Apple a publié aujourd’hui un avis de dépréciation qui mérite votre attention avant l’automne : la classe ImageCreator, l’API d’Image Playground pour générer des images par programmation sans UI, « est en cours d’abandon et ne fonctionnera plus dans iOS 27, iPadOS 27, macOS 27 et visionOS 27 ou versions ultérieures ».1 L’avis est inhabituellement précis sur la manière dont la rupture se déroule. Pendant les versions bêta du système, le code utilisant ImageCreator se compile encore avec des avertissements Xcode, mais les applications « ne fonctionneront pas dans les builds TestFlight et provoqueront une erreur d’exécution ».1 Lors des versions publiques du système, le code cesse complètement de se compiler.1 Une API livrée dans iOS 18.4 disparaît une version majeure plus tard, et la session WWDC qui explique pourquoi détaille aussi le chemin de migration.
L’annonce de la dépréciation à 4:34 dans la session 375.
En bref
- Apple abandonne
ImageCreator, l’API de génération d’images par programmation du framework Image Playground. Elle cesse de fonctionner dans iOS 27, iPadOS 27, macOS 27 et visionOS 27.1 La documentation d’Apple marque la dépréciation à la version 27.0 sur cinq plateformes, dont Mac Catalyst.2 - La rupture est échelonnée : les versions bêta se compilent avec des avertissements mais échouent à l’exécution dans TestFlight ; les versions publiques refusent de se compiler.1 La consigne d’Apple est de migrer « avant la sortie publique ».1
- La raison est architecturale. Les modèles d’Image Playground sont passés à Private Cloud Compute cette année et, comme le formule la session, « Déplacer les modèles vers Private Cloud Compute impliquait aussi de repenser l’API ».3
- Le remplacement, c’est l’UI système : le modificateur SwiftUI
imagePlaygroundSheet, ouImagePlaygroundViewControllerpour les applications UIKit et AppKit.3 La suggestion alternative d’Apple est sans détour : intégrer « un autre service de génération d’images de votre choix ».1 - La nouvelle feuille est plus capable que l’ancienne : styles photoréalistes, amorçage avec des concepts, des dessins et des images sources, configuration de la taille et du style, et un style
externalProvideroptionnel qui fait remonter un fournisseur tiers comme ChatGPT.3
Ce qu’Apple a annoncé, précisément
L’avis du 11 juin sur le fil d’actualités pour les développeurs d’Apple expose un calendrier en deux étapes.1 Dans les versions bêta du système, votre code continue de se compiler, Xcode commence à émettre des avertissements, et les applications qui appellent ImageCreator rencontrent une erreur d’exécution dans les builds TestFlight. Dans les versions publiques du système, le code qui référence la classe ne se compile plus, et toute fonctionnalité bâtie dessus cesse de fonctionner pour les utilisateurs. Le point d’action d’Apple nomme l’échéance : mettez à jour votre implémentation « avant la sortie publique d’iOS 27, iPadOS 27, macOS 27 et visionOS 27 ».1
La documentation raconte la même histoire sous forme de référence d’API. ImageCreator est arrivé dans iOS et iPadOS 18.4, macOS 15.4 et visionOS 2.4, et chaque ligne de plateforme porte désormais une dépréciation à la version 27.0, Mac Catalyst rejoignant les quatre plateformes que nomme l’article d’actualité.2 Le résumé de la classe décrit exactement ce qui est perdu : elle « génère des images par programmation à partir de la description et des informations de style que vous spécifiez ».2 Il n’existe aucun remplacement par programmation. Les applications qui généraient des images sans interface, sans présenter d’UI, n’ont aucun équivalent direct dans le framework.
Pour les développeurs qui ont déjà abandonné la classe, l’avis boucle la boucle : « Aucune autre action n’est requise. »1
Pourquoi : les modèles sont passés à Private Cloud Compute
La session 375, « Create high quality images using Image Playground », expose la raison de façon officielle. Image Playground a été reconstruit cette année autour de modèles d’images plus puissants qui produisent des « images de haute qualité dans pratiquement n’importe quel style, même photoréaliste », et ces modèles tournent sur Private Cloud Compute, l’infrastructure cloud d’Apple respectueuse de la vie privée, plutôt que sur l’appareil.3 La session relie ensuite les points : « Déplacer les modèles vers Private Cloud Compute impliquait aussi de repenser l’API. ImageCreator, l’API non-UI pour générer des images directement dans votre code, est dépréciée. »3
L’économie explique ce choix de conception. Image Playground a désormais une limite d’utilisation « parce qu’il repose sur de puissants modèles serveurs », avec un accès accru disponible via la plupart des formules d’abonnement iCloud+.3 Le système gère ces limites pour le compte de l’utilisateur, et la session est explicite : le développeur ne construit jamais d’UI liée à l’utilisation.3 Une API sans interface que les applications pourraient appeler en boucle s’intègre mal dans ce modèle ; une feuille présentée par le système et pilotée par l’utilisateur, non. Quel que soit le raisonnement interne, le résultat livré est que la génération d’images dans le framework passe désormais par l’expérience système.
Un effet secondaire à nommer : ImageCreator exécutait la génération sur l’appareil, tandis que la nouvelle expérience tourne sur Private Cloud Compute, avec l’assurance de la session que « vos données ne sont jamais stockées ni partagées, même avec Apple ».3 Les applications ayant une exigence stricte de génération d’images sur l’appareil sont celles que le framework ne dessert plus.
La migration : un seul modificateur de vue
Pour les applications SwiftUI, l’adoption du remplacement est minime. L’application de démonstration de la session attache .imagePlaygroundSheet à un bouton avec une liaison vers un booléen @State ; lorsque la liaison passe à true, la feuille apparaît, et la closure de complétion reçoit une URL vers le fichier généré.3 L’URL pointe vers un emplacement temporaire à l’intérieur du conteneur de l’application, c’est pourquoi la session avertit de l’enregistrer ailleurs avant la fin de la session.3 Les applications UIKit et AppKit obtiennent la même expérience via ImagePlaygroundViewController, en définissant les concepts et les options comme propriétés et en recevant le résultat via une méthode de délégué.3
Ce que la feuille perd en programmabilité, elle le récupère en partie dans l’amorçage. ImagePlaygroundConcept transporte le contexte de l’application dans la feuille : text enveloppe une description directe, extracted prend un texte plus long et laisse le système en extraire les idées pertinentes, et drawing accepte un PKDrawing de PencilKit comme suggestion visuelle.3 Un paramètre sourceImage amorce la feuille avec n’importe quelle Image SwiftUI comme inspiration.3 ImagePlaygroundOptions et ImagePlaygroundStyle configurent le reste : une requête de taille closest(to:) mappe n’importe quel CGSize vers la résolution et le rapport d’aspect pris en charge les plus proches, et le style de génération prend une valeur par défaut plus une liste autorisée, verrouillant le sélecteur sur un seul style lorsque la liste ne comporte qu’une entrée.3
Deux capacités plus récentes adoucissent le compromis. Le style externalProvider est une entrée optionnelle qui fait remonter le fournisseur tiers que l’utilisateur a configuré dans les Réglages, ChatGPT par exemple, le système gérant la configuration lorsqu’aucun fournisseur n’existe.3 Et le style emoji déclenche une complétion distincte qui renvoie un NSAdaptiveImageGlyph, intégrable en ligne dans le texte comme un emoji.3
La gestion de la disponibilité reste simple : la valeur d’environnement supportsImageGeneration renvoie true uniquement lorsque l’appareil dispose de la capacité, que la langue et la région sont prises en charge, et que l’utilisateur a activé la génération d’images, de sorte qu’une seule condition couvre le chemin de repli.3
La décision pour les applications concernées
L’avis offre deux options de migration et la session fournit la matière à jugement. Les applications dont la génération d’images était une fonctionnalité créative orientée utilisateur devraient adopter la feuille : les nouveaux modèles sont plus puissants que ceux qu’appelait ImageCreator, l’API d’amorçage y transporte le contexte de l’application, et le système absorbe gratuitement les limites d’utilisation, les sélecteurs de style et la personnalisation des personnes.3 Les applications qui dépendaient de la génération sans interface, produisant des images dans un flux en arrière-plan sans interaction utilisateur, n’ont aucun chemin à l’intérieur du framework ; pour elles, la seconde option d’Apple, intégrer « un autre service de génération d’images de votre choix », est la réponse honnête.1
La dépréciation s’inscrit aussi dans un schéma de ce cycle. Apple a marqué MXMetricManager comme déprécié à la version 27.0 la même semaine où elle a livré les API de reporting de remplacement, traitées dans Le reporting d’état d’iOS 27 dans MetricKit. La plateforme élague les API un cycle après l’arrivée de leurs remplacements, et la période bêta est la fenêtre de migration.
FAQ
Quand exactement ImageCreator cesse-t-il de fonctionner ?
Par étapes.1 Pendant les bêtas d’iOS 27, iPadOS 27, macOS 27 et visionOS 27, le code se compile avec des avertissements Xcode, mais les builds TestFlight rencontrent une erreur d’exécution. Aux sorties publiques de cet automne, le code ne se compile plus et les fonctionnalités cessent de fonctionner pour les utilisateurs. La documentation d’Apple marque la dépréciation à la version 27.0 sur iOS, iPadOS, macOS, Mac Catalyst et visionOS.2
Pourquoi Apple a-t-il supprimé la génération d’images par programmation ?
La session le rattache au changement d’architecture : les modèles d’Image Playground sont passés à Private Cloud Compute, et « déplacer les modèles vers Private Cloud Compute impliquait aussi de repenser l’API ».3 Le nouveau système gère les limites d’utilisation des modèles serveurs pour le compte de l’utilisateur, avec un accès accru via les formules iCloud+, un modèle qui convient mieux à une feuille pilotée par l’utilisateur qu’à une API sans interface.3
Qu’est-ce qui la remplace ?
L’UI système : le modificateur imagePlaygroundSheet dans SwiftUI ou ImagePlaygroundViewController dans UIKit et AppKit.3 Vous pouvez l’amorcer avec des concepts textuels, du texte extrait, des dessins PencilKit et une image source, et configurer la taille, les styles et la personnalisation. Pour la génération sans interface, l’alternative déclarée par Apple est un service de génération d’images tiers.1
Quelque chose est-il encore généré sur l’appareil ?
La session décrit la nouvelle génération d’images comme s’exécutant sur Private Cloud Compute, avec l’assurance que les données « ne sont jamais stockées ni partagées, même avec Apple ».3 Les applications exigeant strictement une génération d’images sur l’appareil n’ont plus de chemin pour cela dans le framework.
Le basculement vers Private Cloud Compute à l’origine du changement est le même que celui qui remodèle le versant texte d’Apple Intelligence, traité dans Foundation Models et Private Cloud Compute. Pour l’autre dépréciation qu’Apple a livrée ce cycle aux côtés d’un remplacement, voir Le reporting d’état d’iOS 27 dans MetricKit. Le hub complet de la série est la série Écosystème Apple.
Références
-
Apple, Deprecation of the ImageCreator class, Apple Developer News, 11 juin 2026. Source pour l’abandon (« la classe ImageCreator est en cours d’abandon et ne fonctionnera plus dans iOS 27, iPadOS 27, macOS 27 et visionOS 27 ou versions ultérieures »), le calendrier échelonné (versions bêta : le code se compile avec des avertissements Xcode, les applications « ne fonctionneront pas dans les builds TestFlight et provoqueront une erreur d’exécution » ; versions publiques : le code ne se compile pas et les fonctionnalités cessent de fonctionner), la consigne de mettre à jour avant la sortie publique, les deux options de migration (la feuille Image Playground, ou « un autre service de génération d’images de votre choix »), et la note selon laquelle les applications déjà migrées n’ont besoin d’aucune autre action. ↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Apple, ImageCreator documentation, Apple Developer Documentation. Source pour la matrice de disponibilité des plateformes (introduit dans iOS 18.4, iPadOS 18.4, macOS 15.4, visionOS 2.4 ; déprécié à la version 27.0 sur iOS, iPadOS, macOS, Mac Catalyst et visionOS) et le résumé de la classe (« Génère des images par programmation à partir de la description et des informations de style que vous spécifiez »). ↩↩↩↩
-
Apple, session 375 de la WWDC 2026, Create high quality images using Image Playground. Transcription officielle. Source pour la déclaration de dépréciation et sa justification (« Déplacer les modèles vers Private Cloud Compute impliquait aussi de repenser l’API. ImageCreator, l’API non-UI pour générer des images directement dans votre code, est dépréciée »), les nouvelles capacités des modèles (« images de haute qualité dans pratiquement n’importe quel style, même photoréaliste »), l’exécution sur Private Cloud Compute avec l’assurance de confidentialité (« vos données ne sont jamais stockées ni partagées, même avec Apple »), les limites d’utilisation et l’accès iCloud+ avec une UI de limite gérée par le système, le flux d’adoption d’
imagePlaygroundSheet(présentation pilotée par liaison, URL de complétion dans un emplacement temporaire du conteneur de l’application),ImagePlaygroundViewControllerpour UIKit et AppKit avec des résultats basés sur un délégué, l’amorçage parImagePlaygroundConcept(text,extracted,drawingavec PencilKit), le paramètresourceImage,ImagePlaygroundOptionsavec le mappage de tailleclosest(to:), les valeurs de style par défaut et les listes autorisées y compris le verrouillage sur un seul style, le style optionnelexternalProvideravec ChatGPT comme exemple et une configuration gérée par le système, la complétionNSAdaptiveImageGlyphdu style emoji, et la valeur d’environnementsupportsImageGenerationcouvrant la capacité, la langue et la région, ainsi que le réglage de l’utilisateur. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩