Skip to content

Declare the Flutter scene delegate so the app launches on the iOS 27 SDK - #405

Merged
jasikpark merged 2 commits into
mainfrom
push-rltovxzokxyr
Sep 22, 2026
Merged

jasikpark merged 2 commits into
mainfrom
push-rltovxzokxyr

Conversation

@jasikpark

Copy link
Copy Markdown
Contributor

Built with Xcode 27.0 (27A266a), the Runner app dies on launch with SIGTRAP before drawing anything:

Application failed to launch: UIScene life cycle is required for apps built with this SDK.
(UIApplication_RuntimeIssues.m:106)

Builds from the iOS 26 SDK are unaffected, so today's App Store build is fine. The crash arrives with whichever release is first built on Xcode 27.

Cause

ios/Runner/Info.plist declares a UIApplicationSceneManifest, but its UISceneConfigurations is an empty dict, so no scene delegate is ever named. AppDelegate already adopts FlutterImplicitEngineDelegate, so the AppDelegate half of the Flutter UIScene migration is done and only the plist half is missing. The iOS 26 SDK tolerated the empty configuration, the iOS 27 SDK treats it as not adopting the scene life cycle.

Fix

Name Flutter's scene delegate for the application role:

<key>UISceneConfigurations</key>
<dict>
  <key>UIWindowSceneSessionRoleApplication</key>
  <array>
    <dict>
      <key>UISceneClassName</key>
      <string>UIWindowScene</string>
      <key>UISceneConfigurationName</key>
      <string>flutter</string>
      <key>UISceneDelegateClassName</key>
      <string>FlutterSceneDelegate</string>
      <key>UISceneStoryboardFile</key>
      <string>Main</string>
    </dict>
  </array>
</dict>

Verified on an iPhone 13 Pro: a Profile build from Xcode 27.0 (27A266a) crashed at launch without this change and launches with it.

Xcode 27 also rejects the 14.0 deployment target. Raising it is a support decision, so it's in a separate PR stacked on this one.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MurGUoeWWCURHtoWFB7R56

@jasikpark
jasikpark marked this pull request as ready for review September 22, 2026 21:23
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@jasikpark
jasikpark merged commit b1a107b into main Sep 22, 2026
4 checks passed
@jasikpark
jasikpark deleted the push-rltovxzokxyr branch September 22, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants