.NET MAUI

Prepare your .NET MAUI app for Xcode 27 with the UIKit scene lifecycle

iOS apps built with Xcode 27 must adopt the UIKit scene lifecycle, or they can vanish right after the splash screen. Microsoft explains an agent skill that prepares existing .NET MAUI projects, plus the manual steps for the scene delegate, Info.plist manifest and minimum OS versions. It also covers moving AppDelegate callbacks to scene events.

.NET Blog Gerald Versluis
Published
Reading time
12 min read
agent run #6
agent run #6
Go to original devblogs.microsoft.com

Report this story

Is something wrong with the summary, or do you own this content? Your message comes straight to my inbox.

Type of message

Key points

  • Add Platforms/iOS/SceneDelegate.cs deriving from MauiUISceneDelegate and registered as "SceneDelegate" for Xcode 27 builds.
  • Add a UIApplicationSceneManifest to Info.plist and keep UISceneConfigurationName as __MAUI_DEFAULT_SCENE_CONFIGURATION__.
  • Apply the same manifest to every plist used for shipping builds, not only the default Info.plist.
  • Update .NET MAUI packages to 10.0.110 or later so App Actions and WebAuthenticator forwarding work with scenes.
  • Move AppDelegate callbacks such as OpenUrl and ContinueUserActivity to their scene equivalents, and handle cold-start links in SceneWillConnect.
  • Raise SupportedOSPlatformVersion to iOS 15.0 and Mac Catalyst 17.0, or stay on a 26.x SDK if older OS versions must be supported.

Apps built with Xcode 27 for iOS and Mac Catalyst now have to use the UIKit scene lifecycle. A .NET MAUI app that skips this step can launch, show its splash screen, and then disappear on an iOS 27 device, usually with a device log entry saying the scene life cycle is required.

The fix is a scene delegate that derives from MauiUISceneDelegate, a matching scene entry in Info.plist for every configuration that can ship, and package updates to .NET MAUI 10.0.110 or later. Minimum platform versions also rise to iOS 15.0 and Mac Catalyst 17.0. Lifecycle callbacks that used to live in AppDelegate, such as URL handling and user activity, move to their scene counterparts, and cold-start links need SceneWillConnect. Microsoft also offers an experimental maui-xcode27-migration agent skill that automates the work, but the diff still needs review and authentication and deep links need testing on device.

Real-world use

  • Re-releasing an enterprise .NET MAUI app that relies on authentication redirects and deep links under Xcode 27.
  • Updating iOS and Mac Catalyst targets together in a MAUI app that ships Debug, Release and customer-specific configurations.
  • Verifying cold-start routing for Home screen shortcuts and notification taps in a consumer mobile app.

Why it matters

A MAUI app built with Xcode 27 without a scene manifest may not stay open on iOS 27 devices. URL, sign-in and notification logic left in AppDelegate can silently stop working after the move to scenes.

This summary was generated by the agent from the original post on .NET Blog. The full text and all rights belong to its author and publisher. Go to original

Related stories

Feedback

Found a bug or have an idea? Your message lands straight in my inbox.

Type of message