ImageCreator가 더 이상 사용되지 않습니다: iOS 27에서 무엇이 깨지는가
Apple이 오늘 가을이 오기 전에 주목해야 할 지원 중단 공지를 발표했습니다. UI 없이 프로그래밍 방식으로 이미지를 생성하는 Image Playground의 API인 ImageCreator 클래스가 “중단되어 iOS 27, iPadOS 27, macOS 27, visionOS 27 이상에서는 더 이상 작동하지 않습니다.”1 이 공지는 깨짐이 어떻게 진행되는지에 대해 이례적으로 구체적입니다. 베타 OS 릴리스 동안에는 ImageCreator를 사용하는 코드가 여전히 Xcode 경고와 함께 컴파일되지만, 앱은 “TestFlight 빌드에서 작동하지 않으며 런타임 오류를 일으킵니다.”1 정식 OS 릴리스에서는 해당 코드가 아예 컴파일되지 않습니다.1 iOS 18.4에서 출시된 API가 메이저 버전 하나 만에 사라지며, 그 이유를 설명하는 WWDC 세션은 마이그레이션 경로도 함께 안내합니다.
세션 375의 4분 34초 지점에서 발표된 지원 중단 공지.
요약
- Apple이 Image Playground 프레임워크의 프로그래밍 방식 이미지 생성 API인
ImageCreator를 중단합니다. iOS 27, iPadOS 27, macOS 27, visionOS 27에서 작동을 멈춥니다.1 Apple 문서는 Mac Catalyst를 포함한 다섯 개 플랫폼에서 27.0 버전 지원 중단을 표시하고 있습니다.2 - 깨짐은 단계적으로 진행됩니다. 베타 릴리스에서는 경고와 함께 컴파일되지만 TestFlight에서 런타임에 실패하고, 정식 릴리스에서는 컴파일 자체를 거부합니다.1 Apple의 지침은 “정식 출시 전에” 마이그레이션하라는 것입니다.1
- 그 이유는 아키텍처에 있습니다. Image Playground의 모델이 올해 Private Cloud Compute로 옮겨졌으며, 세션의 표현대로 “모델을 Private Cloud Compute로 옮긴다는 것은 API를 다시 생각한다는 의미이기도 했습니다.”3
- 대체 수단은 시스템 UI입니다. SwiftUI에서는
imagePlaygroundSheet수정자, UIKit과 AppKit 앱에서는ImagePlaygroundViewController를 사용합니다.3 Apple이 제시하는 또 다른 대안은 단도직입적입니다. “원하는 다른 이미지 생성 서비스”를 통합하라는 것입니다.1 - 새로운 시트는 이전보다 더 강력합니다. 사실적인 스타일, 콘셉트와 그림, 소스 이미지를 통한 시드, 크기와 스타일 구성, 그리고 ChatGPT 같은 서드파티 제공자를 노출하는 옵트인 방식의
externalProvider스타일을 지원합니다.3
Apple이 정확히 무엇을 발표했는가
Apple 개발자 뉴스 피드에 올라온 6월 11일 공지는 2단계 일정을 제시합니다.1 베타 OS 릴리스에서는 코드가 계속 컴파일되고, Xcode가 경고를 내보내기 시작하며, ImageCreator를 호출하는 앱은 TestFlight 빌드에서 런타임 오류를 만납니다. 정식 OS 릴리스에서는 이 클래스를 참조하는 코드가 더 이상 컴파일되지 않으며, 이를 기반으로 만든 모든 기능이 사용자에게 작동을 멈춥니다. Apple의 실행 항목은 마감 시점을 명시합니다. “iOS 27, iPadOS 27, macOS 27, visionOS 27의 정식 출시 전에” 구현을 업데이트하라는 것입니다.1
문서도 API 레퍼런스 형태로 같은 이야기를 전합니다. ImageCreator는 iOS 및 iPadOS 18.4, macOS 15.4, visionOS 2.4에서 도입되었으며, 이제 모든 플랫폼 행에 27.0 지원 중단이 표시되어 있고, 뉴스 게시물이 명시한 네 개 플랫폼에 Mac Catalyst가 추가됩니다.2 클래스 개요는 무엇이 사라지는지를 정확히 설명합니다. “지정한 설명과 스타일 정보로부터 프로그래밍 방식으로 이미지를 생성합니다.”2 프로그래밍 방식의 대체 수단은 없습니다. UI를 표시하지 않고 헤드리스로 이미지를 생성하던 앱은 프레임워크 내에서 직접적인 대응 수단이 없습니다.
이미 이 클래스에서 벗어난 개발자에게는 공지가 마무리를 짓습니다. “추가 조치가 필요하지 않습니다.”1
이유: 모델이 Private Cloud Compute로 옮겨졌다
세션 375 “Create high quality images using Image Playground”는 그 이유를 공식적으로 밝힙니다. Image Playground는 올해 “사실적인 것을 포함해 거의 모든 스타일의 고품질 이미지”를 생성하는 더 강력한 이미지 모델을 중심으로 다시 만들어졌으며, 이 모델은 기기가 아니라 Apple의 프라이버시 보호 클라우드 인프라인 Private Cloud Compute에서 실행됩니다.3 그런 다음 세션은 점들을 연결합니다. “모델을 Private Cloud Compute로 옮긴다는 것은 API를 다시 생각한다는 의미이기도 했습니다. 코드에서 직접 이미지를 생성하는 비UI API인 ImageCreator는 지원이 중단됩니다.”3
설계 결정의 이유는 경제성에 있습니다. Image Playground는 이제 “강력한 서버 모델에 의존하기 때문에” 사용량 제한이 있으며, 대부분의 iCloud+ 구독 요금제를 통해 더 많은 접근 권한을 이용할 수 있습니다.3 시스템이 사용자를 대신해 이러한 제한을 관리하며, 세션은 개발자가 사용량 관련 UI를 결코 만들지 않는다는 점을 명확히 합니다.3 앱이 반복적으로 호출할 수 있는 헤드리스 API는 이러한 모델 안에서 어색하게 자리하지만, 사용자가 직접 조작하는 시스템 제공 시트는 그렇지 않습니다. 내부적인 논리가 무엇이든, 출시된 결과는 프레임워크 내 이미지 생성이 이제 시스템 경험을 거쳐 이루어진다는 것입니다.
언급할 만한 한 가지 부수 효과가 있습니다. ImageCreator는 기기에서 생성을 실행했지만, 새로운 경험은 “데이터가 결코 저장되거나 공유되지 않으며, Apple조차도 마찬가지입니다”라는 세션의 보장과 함께 Private Cloud Compute에서 실행됩니다.3 이미지 생성에 대해 엄격한 온디바이스 요구사항을 가진 앱이 바로 프레임워크가 더 이상 지원하지 않는 대상입니다.
마이그레이션: 뷰 수정자 하나
SwiftUI 앱에서 대체 수단의 도입은 간단합니다. 세션의 데모 앱은 @State 불리언에 대한 바인딩과 함께 .imagePlaygroundSheet를 버튼에 연결합니다. 바인딩이 true로 바뀌면 시트가 나타나고, 완료 클로저가 생성된 파일의 URL을 받습니다.3 이 URL은 앱 컨테이너 내부의 임시 위치를 가리키므로, 세션은 세션이 끝나기 전에 다른 곳에 저장하라고 경고합니다.3 UIKit과 AppKit 앱은 ImagePlaygroundViewController를 통해 동일한 경험을 얻으며, 콘셉트와 옵션을 속성으로 설정하고 델리게이트 메서드를 통해 결과를 받습니다.3
시트가 프로그래밍 가능성에서 잃은 것을 시드 기능에서 일부 되찾습니다. ImagePlaygroundConcept는 앱 컨텍스트를 시트로 전달합니다. text는 직접적인 설명을 감싸고, extracted는 더 긴 텍스트를 받아 시스템이 관련 아이디어를 추출하도록 하며, drawing은 PencilKit의 PKDrawing을 시각적 제안으로 받습니다.3 sourceImage 매개변수는 모든 SwiftUI Image를 영감으로 삼아 시트를 시드합니다.3 ImagePlaygroundOptions와 ImagePlaygroundStyle이 나머지를 구성합니다. closest(to:) 크기 요청은 모든 CGSize를 가장 가까운 지원 해상도와 종횡비로 매핑하고, 생성 스타일은 기본값과 허용 목록을 받아 목록에 항목이 하나일 때는 선택기를 단일 스타일로 고정합니다.3
두 가지 더 새로운 기능이 이 거래를 달콤하게 합니다. externalProvider 스타일은 사용자가 설정에서 구성한 서드파티 제공자, 예를 들어 ChatGPT를 노출하는 옵트인 항목으로, 제공자가 없을 때는 시스템이 설정을 처리합니다.3 그리고 이모지 스타일은 별도의 완료를 발생시켜 NSAdaptiveImageGlyph를 돌려주는데, 이는 이모지처럼 텍스트와 함께 인라인으로 삽입할 수 있습니다.3
가용성 처리는 단순하게 유지됩니다. supportsImageGeneration 환경 값은 기기에 해당 기능이 있고, 언어와 지역이 지원되며, 사용자가 이미지 생성을 활성화했을 때만 true를 반환하므로, 하나의 조건문으로 폴백 경로를 처리할 수 있습니다.3
영향을 받는 앱을 위한 결정
공지는 두 가지 마이그레이션 옵션을 제시하고, 세션은 판단 근거를 제공합니다. 이미지 생성이 사용자에게 보이는 창작 기능이었던 앱은 시트를 택해야 합니다. 새 모델은 ImageCreator가 호출하던 것보다 강력하고, 시드 API는 앱 컨텍스트를 전달하며, 시스템이 사용량 제한, 스타일 선택기, 인물 개인화를 무료로 흡수합니다.3 사용자 상호작용 없이 백그라운드 흐름에서 이미지를 생성하는 헤드리스 생성에 의존했던 앱은 프레임워크 내에 경로가 없습니다. 이들에게는 Apple의 두 번째 옵션, 즉 “원하는 다른 이미지 생성 서비스”를 통합하는 것이 솔직한 답입니다.1
이번 지원 중단은 이번 주기의 한 패턴에도 들어맞습니다. Apple은 대체 보고 API를 출시한 바로 그 주에 MXMetricManager를 27.0에서 지원 중단으로 표시했으며, 이는 MetricKit의 iOS 27 상태 보고에서 다룹니다. 플랫폼은 대체 수단이 도착한 한 주기 뒤에 API를 정리하고 있으며, 베타 기간이 마이그레이션 창입니다.
FAQ
ImageCreator는 정확히 언제 작동을 멈추나요?
단계적으로 멈춥니다.1 iOS 27, iPadOS 27, macOS 27, visionOS 27 베타 동안에는 코드가 Xcode 경고와 함께 컴파일되지만, TestFlight 빌드는 런타임 오류를 만납니다. 올가을 정식 출시에서는 코드가 더 이상 컴파일되지 않고 기능이 사용자에게 작동을 멈춥니다. Apple 문서는 iOS, iPadOS, macOS, Mac Catalyst, visionOS 전반에서 27.0 지원 중단을 표시합니다.2
Apple은 왜 프로그래밍 방식 이미지 생성을 제거했나요?
세션은 이를 아키텍처 변경과 연결합니다. Image Playground의 모델이 Private Cloud Compute로 옮겨졌으며 “모델을 Private Cloud Compute로 옮긴다는 것은 API를 다시 생각한다는 의미이기도 했습니다.”3 새 시스템은 사용자를 대신해 서버 모델 사용량 제한을 관리하며, iCloud+ 요금제를 통해 더 많은 접근 권한을 제공하는데, 이는 헤드리스 API보다 사용자 주도 시트에 더 잘 들어맞는 모델입니다.3
무엇이 이를 대체하나요?
시스템 UI입니다. SwiftUI의 imagePlaygroundSheet 수정자 또는 UIKit과 AppKit의 ImagePlaygroundViewController입니다.3 텍스트 콘셉트, 추출된 텍스트, PencilKit 그림, 소스 이미지로 시드할 수 있고, 크기와 스타일, 개인화를 구성할 수 있습니다. 헤드리스 생성의 경우, Apple이 밝힌 대안은 서드파티 이미지 생성 서비스입니다.1
여전히 기기에서 생성되는 것이 있나요?
세션은 새로운 이미지 생성이 Private Cloud Compute에서 실행되며, 데이터가 “결코 저장되거나 공유되지 않으며, Apple조차도 마찬가지입니다”라는 보장과 함께 이루어진다고 설명합니다.3 엄격하게 온디바이스 이미지 생성을 요구하는 앱은 더 이상 이를 위한 프레임워크 경로를 갖지 못합니다.
이 변화를 이끈 Private Cloud Compute로의 이전은 Apple Intelligence의 텍스트 측면을 재편하고 있는 것과 동일한 변화로, Foundation Models와 Private Cloud Compute에서 다룹니다. Apple이 이번 주기에 대체 수단과 함께 출시한 또 다른 지원 중단에 대해서는 MetricKit의 iOS 27 상태 보고를 참고하세요. 전체 시리즈 허브는 Apple Ecosystem 시리즈입니다.
참고 문헌
-
Apple, Deprecation of the ImageCreator class, Apple Developer News, June 11, 2026. Source for the discontinuation (“the ImageCreator class is being discontinued and will no longer work in iOS 27, iPadOS 27, macOS 27, and visionOS 27 or later”), the staged timeline (beta releases: code compiles with Xcode warnings, apps “will not function in TestFlight builds and will cause a runtime error”; public releases: code won’t compile and features stop working), the instruction to update before the public release, the two migration options (the Image Playground sheet, or “another image generation service of your choice”), and the note that already-migrated apps need no further action. ↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Apple, ImageCreator documentation, Apple Developer Documentation. Source for the platform availability matrix (introduced in iOS 18.4, iPadOS 18.4, macOS 15.4, visionOS 2.4; deprecated at 27.0 on iOS, iPadOS, macOS, Mac Catalyst, and visionOS) and the class abstract (“Generates images programmatically from the description and style information you specify”). ↩↩↩↩
-
Apple, WWDC 2026 session 375, Create high quality images using Image Playground. Official transcript. Source for the deprecation statement and rationale (“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”), the new model capabilities (“high quality images in virtually any style, even photorealistic ones”), Private Cloud Compute execution with the privacy assurance (“your data is never stored or shared, even with Apple”), the usage limits and iCloud+ access with system-managed limit UI, the
imagePlaygroundSheetadoption flow (binding-driven presentation, completion URL in a temporary app-container location),ImagePlaygroundViewControllerfor UIKit and AppKit with delegate-based results,ImagePlaygroundConceptseeding (text,extracted,drawingwith PencilKit), thesourceImageparameter,ImagePlaygroundOptionswithclosest(to:)size mapping, style defaults and allowed lists including single-style locking, the opt-inexternalProviderstyle with ChatGPT as the example and system-handled setup, the emoji style’sNSAdaptiveImageGlyphcompletion, and thesupportsImageGenerationenvironment value covering capability, language and region, and the user setting. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩