← 所有文章

ImageCreator 已遭棄用:iOS 27 中哪些功能會失效

Apple 今天發布了一則棄用通知,需要在秋季之前加以留意:ImageCreator 類別——Image Playground 用於在沒有 UI 的情況下以程式化方式產生影像的 API——「即將停用,並且在 iOS 27、iPadOS 27、macOS 27 及 visionOS 27 或更新版本中將無法運作。」1 這則通知對於失效過程的描述異常具體。在 beta 版作業系統發行期間,使用 ImageCreator 的程式碼仍可編譯,但會出現 Xcode 警告,而 App「在 TestFlight 組建中將無法運作,並會導致執行階段錯誤。」1 到了正式版作業系統發行時,程式碼將完全無法編譯。1 一個在 iOS 18.4 推出的 API,僅僅過了一個主要版本就消失了,而說明原因的 WWDC 議程也一併示範了遷移路徑。

Watch on Apple Developer ↗

議程 375 在 4:34 處的棄用公告。

TL;DR

  • Apple 將停用 ImageCreator,亦即 Image Playground 框架中以程式化方式產生影像的 API。它在 iOS 27、iPadOS 27、macOS 27 及 visionOS 27 中將停止運作。1 Apple 的文件在五個平台上將棄用標記為 27.0,其中也包含 Mac Catalyst。2
  • 失效是分階段進行的:beta 版可編譯但會出現警告,並在 TestFlight 中於執行階段失敗;正式版則拒絕編譯。1 Apple 的指示是要在「正式發行之前」完成遷移。1
  • 原因出在架構面。Image Playground 的模型今年已移至 Private Cloud Compute,誠如議程所言:「將模型移至 Private Cloud Compute 也意味著要重新思考這個 API。」3
  • 取代方案是系統 UI:imagePlaygroundSheet 這個 SwiftUI 修飾器,或是供 UIKit 與 AppKit App 使用的 ImagePlaygroundViewController3 Apple 提出的另一個替代建議則直截了當:整合「您自行選擇的另一項影像產生服務」。1
  • 新的工作表比舊版更有能力:寫實風格、以概念與繪圖及來源影像作為種子、尺寸與風格設定,以及一種需主動啟用的 externalProvider 風格,可呈現像 ChatGPT 這類第三方供應者。3

Apple 的確切公告內容

Apple 開發者新聞動態上 6 月 11 日的這則通知,列出了一份兩階段時程。1 在 beta 版作業系統發行期間,您的程式碼仍可繼續編譯,Xcode 會開始發出警告,而呼叫 ImageCreator 的 App 在 TestFlight 組建中會遇到執行階段錯誤。在正式版作業系統發行時,參照該類別的程式碼將無法再編譯,凡是建構於其上的功能對使用者而言都會停止運作。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 的情況下無介面產生影像的 App,在框架中找不到直接對等的做法。

對於已經改用其他做法、不再使用此類別的開發者,這則通知做了個收尾:「無需採取進一步行動。」1

原因:模型已移至 Private Cloud Compute

議程 375「使用 Image Playground 建立高品質影像」明確記載了原因。Image Playground 今年圍繞著更強大的影像模型重新打造,這些模型能產生「幾乎任何風格的高品質影像,甚至是寫實風格」,而它們是在 Private Cloud Compute——Apple 的隱私保護雲端基礎架構——上執行,而非在裝置端。3 接著,議程把來龍去脈串了起來:「將模型移至 Private Cloud Compute 也意味著要重新思考這個 API。ImageCreator,亦即直接在您的程式碼中產生影像的非 UI API,已遭棄用。」3

從成本面就能解釋這項設計取捨。Image Playground 現在設有使用量限制,「因為它仰賴強大的伺服器模型」,而大多數 iCloud+ 訂閱方案都能提供更多存取額度。3 系統會代替使用者管理這些限制,議程也明白指出開發者完全不需要建構與使用量相關的 UI。3 一個 App 可在迴圈中反覆呼叫的無介面 API,與這套模型格格不入;由使用者主導、系統呈現的工作表則不然。無論內部考量為何,最終交付的結果就是:框架中的影像產生如今一律透過系統體驗進行。

有一個值得一提的附帶影響:ImageCreator 是在裝置端執行產生作業,而新體驗則在 Private Cloud Compute 上執行,議程也保證「您的資料絕不會被儲存或分享,即使是對 Apple 也一樣。」3 對影像產生有嚴格在裝置端要求的 App,正是框架不再服務的對象。

遷移:一個 view 修飾器

對 SwiftUI App 而言,採用替代方案的工作量很小。議程的示範 App 在一個按鈕上附加了 .imagePlaygroundSheet,並綁定到一個 @State 布林值;當該綁定翻轉為 true 時,工作表便會出現,而完成閉包會收到一個指向已產生檔案的 URL。3 這個 URL 指向 App 容器內的暫存位置,因此議程提醒要在工作階段結束前先將檔案儲存到別處。3 UIKit 與 AppKit App 則透過 ImagePlaygroundViewController 取得相同的體驗:將概念與選項設定為屬性,並透過委派方法接收結果。3

工作表在程式化能力上失去的,部分透過種子功能補了回來。ImagePlaygroundConcept 將 App 情境帶入工作表:text 包覆一段直接的描述,extracted 接收較長的文字並讓系統從中抽取相關的構想,而 drawing 則接受來自 PencilKit 的 PKDrawing 作為視覺建議。3 一個 sourceImage 參數會以任何 SwiftUI Image 作為靈感來為工作表播種。3 ImagePlaygroundOptionsImagePlaygroundStyle 負責設定其餘部分:一個 closest(to:) 尺寸請求會將任何 CGSize 對應到最接近的支援解析度與長寬比,而產生風格則接受一個預設值加上一份允許清單,當清單只有一個項目時,便會把選擇器鎖定為單一風格。3

有兩項較新的能力讓這項取捨變得更划算。externalProvider 風格是個需主動啟用的入口,可呈現使用者在「設定」中所設定的任何第三方供應者,例如 ChatGPT,而當不存在任何供應者時,系統會代為處理設定。3 此外,emoji 風格會觸發一個獨立的完成回呼,交還一個 NSAdaptiveImageGlyph,可像 emoji 一樣內嵌於文字之中。3

可用性的處理依舊很簡單:supportsImageGeneration 這個環境值只有在裝置具備該能力、語言與地區受支援,且使用者已啟用影像產生時,才會回傳 true,因此單一條件判斷便能涵蓋備援路徑。3

受影響 App 的決策

這則通知給出了兩個遷移選項,而議程提供了判斷所需的素材。若 App 的影像產生原本是面向使用者的創作功能,就應該採用工作表:新模型比 ImageCreator 所呼叫的更強大,種子 API 會把 App 情境帶進來,而系統也免費吸收了使用量限制、風格選擇器與人物個人化。3 至於那些仰賴無介面產生、在沒有使用者互動的背景流程中產出影像的 App,框架內並沒有可走的路;對它們而言,Apple 的第二個選項——整合「您自行選擇的另一項影像產生服務」——才是誠實的答案。1

這次棄用也符合本週期的一種模式。Apple 在棄用 MXMetricManager(同樣標記為 27.0)的同一週,也推出了取而代之的回報 API,詳見 MetricKit 的 iOS 27 狀態回報。平台會在替代方案落地後的一個週期內,著手修剪 API,而 beta 期間正是遷移的窗口。

FAQ

ImageCreator 究竟何時會停止運作?

是分階段的。1 在 iOS 27、iPadOS 27、macOS 27 及 visionOS 27 的 beta 階段,程式碼可編譯但會出現 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 中的 ImagePlaygroundViewController3 您可以用文字概念、抽取出的文字、PencilKit 繪圖以及一張來源影像為它播種,並設定尺寸、風格與個人化。至於無介面的產生方式,Apple 明示的替代方案是第三方影像產生服務。1

是否還有任何內容是在裝置端產生的?

議程描述新的影像產生作業是在 Private Cloud Compute 上執行,並保證資料「絕不會被儲存或分享,即使是對 Apple 也一樣。」3 那些要求嚴格在裝置端產生影像的 App,框架已不再為其提供可走的路徑。


驅動這項變更的 Private Cloud Compute 轉移,正是同一股重塑 Apple Intelligence 文字面的力量,詳見 Foundation Models 與 Private Cloud Compute。至於 Apple 本週期內隨替代方案一同推出的另一項棄用,請參閱 MetricKit 的 iOS 27 狀態回報。完整系列的彙整入口是 Apple 生態系列

參考資料


  1. Apple, Deprecation of the ImageCreator class, Apple Developer News, June 11, 2026. 停用一事的來源(「the ImageCreator class is being discontinued and will no longer work in iOS 27, iPadOS 27, macOS 27, and visionOS 27 or later」)、分階段時程(beta 版發行:程式碼可編譯但有 Xcode 警告,App「will not function in TestFlight builds and will cause a runtime error」;正式版發行:程式碼無法編譯且功能停止運作)、要在正式發行前更新的指示、兩個遷移選項(Image Playground 工作表,或「another image generation service of your choice」),以及已完成遷移的 App 無需採取進一步行動的說明。 

  2. Apple, ImageCreator documentation, Apple Developer Documentation. 平台可用性對照表的來源(於 iOS 18.4、iPadOS 18.4、macOS 15.4、visionOS 2.4 推出;在 iOS、iPadOS、macOS、Mac Catalyst 及 visionOS 上於 27.0 棄用)以及該類別摘要(「Generates images programmatically from the description and style information you specify」)。 

  3. Apple, WWDC 2026 session 375, Create high quality images using Image Playground. 官方逐字稿。棄用陳述與理由的來源(「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」)、新模型能力(「high quality images in virtually any style, even photorealistic ones」)、在 Private Cloud Compute 上執行並附帶隱私保證(「your data is never stored or shared, even with Apple」)、使用量限制與 iCloud+ 存取及系統管理的限制 UI、imagePlaygroundSheet 採用流程(綁定驅動的呈現方式、完成時位於暫存 App 容器位置的 URL)、供 UIKit 與 AppKit 使用且以委派為基礎回傳結果的 ImagePlaygroundViewControllerImagePlaygroundConcept 種子功能(textextracted、搭配 PencilKit 的 drawing)、sourceImage 參數、附帶 closest(to:) 尺寸對應的 ImagePlaygroundOptions、包含單一風格鎖定在內的風格預設值與允許清單、以 ChatGPT 為範例且由系統處理設定、需主動啟用的 externalProvider 風格、emoji 風格的 NSAdaptiveImageGlyph 完成回呼,以及涵蓋能力、語言與地區及使用者設定的 supportsImageGeneration 環境值。 

相關文章

Container Machine:在 Mac 上打造持久的 Linux 環境

Apple 的 container 工具隨著 container machine 推進到 1.0:在 macOS 上提供快速、持久的 Linux 環境,並掛載您的使用者、家目錄與 dotfiles。

4 分鐘閱讀

iOS 27 中的 SwiftUI 效能與互通

iOS 27 的 SwiftUI 如何處理 lazy stack 捲動、GPU 著色器特效以及 AppKit/UIKit 互通,取材自三場官方 WWDC26 UI Frameworks 議程。

6 分鐘閱讀