Blog
Migration Guide · iOS 27

iOS 26 to iOS 27 Migration: Complete Before/After API Reference

Your iOS 26 app will run on iOS 27, but several high-impact APIs have changed behaviour, signatures, or default values. WWDC 2026 introduced 27 updated capabilities — APIs that exist in iOS 26 but work differently in iOS 27. This reference covers all of them, ordered by impact score, with a summary of exactly what changed and a link to the full detail page showing the before/after Swift code.

High-impact changes are APIs used by most apps and are likely to cause build warnings, unexpected behaviour, or failed tests when upgrading. Address these before the first public beta.

27
Total updated
8
High impact
19
Lower impact

High impact — update before beta

What's New in SwiftUI (iOS 27)UI

iOS 27 brings a sweeping set of SwiftUI enhancements including Liquid Glass design adoption, new toolbar visibility and overflow APIs, document architecture improvements with Observable, and resizable iPhone app support — all designed to modernize app UIs with minimal code changes.

↳ Liquid Glass design is automatically applied to SwiftUI apps on 2027 OS releases with no code changes required

SwiftUIFoundationUniformTypeIdentifiers
UIKit App Modernization: Adaptive Layout & Bar APIsUI

iOS 27 enforces stricter adaptivity requirements for UIKit apps, making iPhone apps fully resizable in iPhone Mirroring and on iPad, while introducing new navigation bar minimization controls, sidebar opt-in for iPhone tab bars, and prominent tab customization.

↳ UIScene lifecycle is now mandatory — apps built without it will fail to launch on iOS 27

UIKit
Live Activities & Dynamic Island EnhancementsUI

iOS 27 brings significant updates to Live Activities and the Dynamic Island, including new expanded presentations, richer interactivity via App Intents directly from the island, and updated layout APIs for more expressive minimal and compact views.

↳ Compact and minimal Dynamic Island views now accept SwiftUI interactive controls (Button, Toggle) backed by App Intents — previously these views were display-only

ActivityKitSwiftUIWidgetKit
What's New in SwiftData (iOS 27)System

iOS 27 adds sectioned queries, codable model attributes, ResultsObserver for non-SwiftUI change observation, and HistoryObserver for reacting to persistent history changes in SwiftData.

↳ Added sectionBy parameter to @Query for sectioned SwiftUI lists without manual grouping

SwiftDataSwiftUIMapKit
App Intents Siri Integration with Visual IntelligenceAI

iOS 27 expands App Intents to deeply integrate with Siri's on-device language model, enabling natural-language invocation of app actions with richer parameter resolution and multi-step task chaining. Apps can now expose capabilities that Siri understands contextually without rigid phrase matching.

↳ New @AssistantIntent macro replaces boilerplate AppIntent+AssistantSchema conformances from iOS 26

AppIntentsSiriFoundationModels
Advanced App Intents for Siri & Apple IntelligenceAI

iOS 27 extends App Intents with new APIs for custom Siri dialog responses, interaction donations, OwnershipProvidingEntity for smart confirmations, and IndexedEntityQuery for semantic Spotlight indexing — enabling richer, more personal Siri and Apple Intelligence experiences.

↳ New OwnershipProvidingEntity protocol lets entities declare public/shared state so Siri auto-confirms before mutating shared data

AppIntentsCoreSpotlightSwiftUI
App Intents Framework: New Capabilities (iOS 27)System

iOS 27 expands the App Intents framework with RelevantEntities for contextual content surfacing, EntityCollection for high-performance batch parameter handling, SyncableEntity for cross-device Siri continuity, native Duration/PersonNameComponents parameter types, and @UnionValue for multi-type parameters — plus extended intent execution time limits.

↳ Added RelevantEntities API to proactively hint which entities are contextually relevant, complementing Spotlight indexing and interaction donation

AppIntentsCoreTransferableGeoToolbox
MetricKit Modern Swift APIPerformance

MetricKit has been rebuilt from the ground up in iOS 27 with a contextually rich, Swift-first API that delivers metrics and diagnostics as async streams, plus new capabilities like Metal frame rate metrics, memory exception diagnostics, and per-state metric breakdowns via the StateReporting framework.

↳ Entire API rebuilt as a modern Swift-first async stream interface replacing the old MXMetricManagerSubscriber delegate pattern

MetricKitStateReporting

Medium impact

Rebuilt MetricKit with Swift-First APIPerformance

iOS 27 rebuilds MetricKit from the ground up with a modern, Swift-first API that delivers metric and diagnostic reports via async streams, adds Metal frame rate metrics, memory exception diagnostics, and crash termination categories, plus a new StateReporting framework to contextualize metrics by app state.

↳ Entire public API rebuilt as a Swift-first async stream interface replacing the MXMetricManagerSubscriber delegate pattern

MetricKitStateReporting
visionOS Object Tracking EnhancementsSystem

visionOS 27 expands ARKit object tracking with high-frame-rate tracking, metric-space pose queries, extended Create ML training, spatial accessory support, and brings object tracking to iOS for the first time.

↳ Added ReferenceObjectConfiguration API to enable high frame rate tracking per reference object

ARKitRealityKitCreateML
App Attest iOS 27 EnhancementsSafety

iOS 27 extends App Attest with launch validation category and bundle version extensions in the authenticator data, plus macOS 27 support and a new ACL Blob OID in the leaf certificate — giving servers richer signals to detect tampered or misused app copies.

↳ New authenticator data extensions: launchValidationCategory and bundleVersion are now appended to attestation authenticator data on iOS 27+.

DeviceCheckCryptoKitSecurity
Swift Testing Migration & Interoperability ModesSystem

Xcode 27 introduces enhanced test framework interoperability modes (Limited, Complete, Strict) that control how cross-framework issues are reported when mixing XCTest and Swift Testing in the same target, making it safer and more structured to incrementally migrate from XCTest to Swift Testing.

↳ New interoperability modes (Limited, Complete, Strict, None) added in Xcode 27 — previously there was no graduated control over cross-framework issue severity

Swift TestingXCTest
Virtualization Framework Enhancements (macOS 27)System

macOS 27 expands the Virtualization framework with automated macOS guest provisioning, USB accessory passthrough via the new Accessory Access framework, advanced vmnet network topologies, and efficient disk image management via the new DiskImageKit framework.

↳ New VZMacGuestProvisioningOptions API enables fully automated macOS Setup Assistant bypass on first boot

VirtualizationAccessoryAccessvmnet
Declarative Device Management Enhancements (iOS 27)System

iOS 27 / macOS 27 significantly expands declarative device management with new status items (device system health, Lockdown Mode, enrollment type), consolidated privacy consent prompts, managed migration for new Macs, enhanced log collection commands, and declarative app configuration support on macOS. These changes make declarative management the definitive standard for enterprise and education device fleets.

↳ Device system health is now surfaced as a declarative status item, allowing MDM servers to detect hardware component failures (camera, Face ID, Touch ID, baseband) without user interaction.

DeviceManagementManagedApp
Localized Asset Packs with Managed Background AssetsSystem

iOS 27 adds language-aware delivery to Managed Background Assets, allowing the system to download only the asset packs that match a player's preferred language setting. This reduces on-device storage and download size for games with multilingual content.

↳ iOS 27 adds localized asset packs: the system now reads the user's preferred language from Settings and delivers only the matching language asset packs.

BackgroundAssetsStoreKit
WidgetKit System Extra Large Portrait FamilyUI

iOS 27 (and macOS 15) brings the systemExtraLargePortrait widget family — previously visionOS-only — to iPhone, iPad, and Mac, giving widgets a tall canvas to display rich app content. Developers can now support this new family size alongside existing families with minimal code changes.

↳ systemExtraLargePortrait widget family added to iOS, iPadOS, and macOS 27 (was visionOS-only before).

WidgetKitSwiftUI
Core Image RAW 9 ProcessingAI

RAW 9 is a major new decoder version for CIRAWFilter that uses a tiled CoreML model running on the Apple Neural Engine to combine demosaicing and denoising in a single pass, dramatically improving sharpness, color accuracy, and noise reduction for hundreds of supported camera models.

↳ New .version9 decoder backed by a tiled CoreML model running on the Apple Neural Engine replaces hand-tuned algorithmic pipeline

CoreImageMetalCoreML
High Resolution Photo Capture with Fast Capture PrioritizationSystem

iOS 27 extends fast capture prioritization on iPhone 16 and 17 to apply deferred processing to balanced-quality captures taken in quick succession, dramatically reducing shot-to-shot delay while still delivering high-quality results. Combined with 24/48MP support on the telephoto and ultrawide cameras, this release brings significant capture pipeline improvements.

↳ iOS 27 adds deferred processing support for balanced fast captures on iPhone 16/17, reducing sustained shot-to-shot delay far beyond what was possible in iOS 16–26

AVFoundation
Shortcuts Storage, Notification Automation & Use Model ImprovementsSystem

iOS 27 brings persistent Storage to Shortcuts (letting values sync across devices between runs), three new automation triggers (screenshot, keyboard, notification), and an improved Use Model action with transcript inspection for debugging LLM-driven shortcut steps.

↳ New Storage feature lets shortcuts persist and sync typed values (including App Entities) between runs across all devices.

AppIntentsIntents
TextKit Viewport Rendering Surfaces & Framework Text View Delegate HooksUI

iOS 27 introduces NSTextViewportRenderingSurface and NSTextViewportRenderingSurfaceKey protocols, and makes UITextView/NSTextView conform to NSTextViewportLayoutControllerDelegate — enabling developers to override viewport layout lifecycle methods to build rich extensions like line-number gutters without leaving the safety of framework text views.

↳ UITextView and NSTextView now conform to NSTextViewportLayoutControllerDelegate, exposing willLayout, configureRenderingSurface, and didLayout as overridable methods in subclasses — this was not possible before iOS 27.

UIKitAppKitSwiftUI
Metal TensorOps for Custom ML KernelsAI

TensorOps is a Metal Shading Language library that lets developers write optimized custom machine learning kernels—including matrix multiplication, convolution, and FlashAttention—with automatic hardware acceleration across all Apple Silicon GPU generations, including the new M5 neural accelerator. iOS/macOS 27 extends its quantized data type support to FP8, 2-bit integers, and MX scaling formats.

↳ Added FP8 (E4M3, E5M2) and 2-bit integer quantized data types on top of the 4/8-bit integers added in iOS 26

MetalMetalPerformanceShadersGraphCoreML
Liquid Glass Search Field PatternsUI

iOS 27 introduces updated search field placement patterns with Liquid Glass styling, including ergonomic bottom-toolbar search that animates over the keyboard, prominent Search Tab options, and adaptive toolbar search that collapses to a button on constrained layouts.

↳ Search fields placed in toolbars now automatically render with Liquid Glass material instead of the previous opaque bar background

SwiftUIUIKit
Immersive Environment Design for visionOS & Spatial WebUI

visionOS supports fully photo-realistic, spatially-aware 360° immersive environments with true depth, parallax, spatial audio, and motion — going far beyond static panoramas. Developers can now surface these environments on both native visionOS apps and the spatial web.

↳ visionOS 3 extends immersive environments to the spatial web, allowing web pages to trigger full immersion via new WebXR/spatial APIs

RealityKitSwiftUIAVFoundation
SwiftUI–AppKit/UIKit Integration Enhancements (iOS/macOS 2026)UI

iOS/macOS 2026 adds NSGestureRecognizerRepresentable, NSHostingMenu, and NSHostingSceneRepresentation, making it easier than ever to incrementally adopt SwiftUI inside existing AppKit apps without a full rewrite. Observable tracking in NSView draw methods is also enabled by default.

↳ New NSGestureRecognizerRepresentable protocol allows embedding custom NSGestureRecognizer subclasses in SwiftUI views

SwiftUIAppKitUIKit
Image Playground High-Quality Image GenerationAI

ImagePlayground.framework now generates high-quality, photorealistic images via Private Cloud Compute instead of on-device models, with a redesigned API that replaces the deprecated ImageCreator. Developers present a familiar sheet UI and receive a URL to the generated image.

↳ ImageCreator on-device API is deprecated; replaced by a new sheet-based API backed by Private Cloud Compute for higher quality output

ImagePlaygroundSwiftUIPencilKit
MusicKit Integration with Music Picker & PlaybackSystem

MusicKit provides Swift-native APIs to browse the Apple Music catalog and personal library via a unified music picker, and play selected songs using ApplicationMusicPlayer. iOS 27 surfaces these capabilities through new SwiftUI view modifiers like .musicPicker and the subscription offer UI.

↳ New .musicPicker SwiftUI view modifier unifies catalog and library browsing in a single picker UI, replacing older manual MusicCatalogSearchRequest + MPMediaPickerController patterns.

MusicKitSwiftUI
AppKit Modernization: NSTextSelectionManager & State RestorationUI

macOS 27 introduces NSTextSelectionManager for custom text selection in any view, while reinforcing best practices for gesture recognizers, keyboard navigation, and NSWindowRestoration to make AppKit apps feel native and resilient.

↳ NSTextSelectionManager introduced in macOS 27 as a new API bringing gesture-recognizer-backed text selection to arbitrary views

AppKitFoundation

See before/after Swift diffs

Each capability detail page shows the complete iOS 26 vs iOS 27 Swift code side-by-side.

Updated APIs in SwiftChronicle