Skip to content

Give the Boilerplate's Apple apps the scene lifecycle that Xcode 27 requires (#13623) - #13898

Merged
yasmoradi merged 1 commit into
developfrom
yasmoradi/13623/boilerplate-apple-scene-lifecycle
Oct 18, 2026
Merged

yasmoradi merged 1 commit into
developfrom
yasmoradi/13623/boilerplate-apple-scene-lifecycle

Conversation

@yasmoradi

@yasmoradi yasmoradi commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

closes #13623

The Boilerplate's iOS and Mac Catalyst heads get a SceneDelegate that derives from MauiUISceneDelegate, and their Info.plist gets a UIApplicationSceneManifest that names it, the same as the BlazorUI demo and the Butil sample got in #13867.

The same change is on bit11, where All CD built the iOS and macOS apps of the admin and todo samples with it. develop's CI doesn't build the template's Apple heads.

Summary by CodeRabbit

  • New Features
    • The MAUI boilerplate template now includes scene-based window configuration for iOS and Mac Catalyst. Generated apps use a single application scene on both platforms, with platform-specific handling for its lifecycle. This provides a consistent app window setup across these Apple platforms when launching an app created from the template. The change applies to newly generated projects; it does not alter existing apps.

@yasmoradi
yasmoradi requested a review from msynk as a code owner October 18, 2026 11:05
@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 159b509a-a2ff-40ba-8b03-a16b16c95760
📥 Commits

Reviewing files that changed from the base of the PR and between 336d5ab and e8fae21.

📒 Files selected for processing: 4
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Platforms/MacCatalyst/Info.plist
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Platforms/MacCatalyst/SceneDelegate.cs
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Platforms/iOS/Info.plist
  • src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Platforms/iOS/SceneDelegate.cs

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Walkthrough

The iOS and Mac Catalyst boilerplate templates now include application scene manifests and registered SceneDelegate classes derived from MauiUISceneDelegate.

Changes

iOS and Mac Catalyst scene lifecycle

Layer / File(s) Summary
Configure application scenes
src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/Platforms/{iOS,MacCatalyst}/*
Both platform manifests configure the default MAUI application scene and name SceneDelegate. Each platform adds a registered SceneDelegate derived from MauiUISceneDelegate.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix · Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to e8fae

The templates add scene lifecycle configuration intended to support iOS and Mac Catalyst SDKs that require scenes. No actionable merge-blocking risk is established in the supplied changes; proceed with normal build checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the main change: adding the Apple scene lifecycle configuration to the Boilerplate apps for the Xcode 27 requirement.
Linked Issues check Passed Issue #13623 requires a registered SceneDelegate : MauiUISceneDelegate and a UIApplicationSceneManifest in both the iOS and Mac Catalyst heads. The diff adds SceneDelegate.cs in both platform di…
Out of Scope Changes check Passed The pull request changes only the Boilerplate iOS and Mac Catalyst manifests and adds the corresponding scene delegate classes. Each change directly implements issue #13623. No unrelated change is pre…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
Full details: Linked Issues check

Explanation

Issue #13623 requires a registered SceneDelegate : MauiUISceneDelegate and a UIApplicationSceneManifest in both the iOS and Mac Catalyst heads. The diff adds SceneDelegate.cs in both platform directories. Both manifests disable multiple scenes and name SceneDelegate under __MAUI_DEFAULT_SCENE_CONFIGURATION__. The issue defines no additional automated-test requirement.

Full details: Out of Scope Changes check

Explanation

The pull request changes only the Boilerplate iOS and Mac Catalyst manifests and adds the corresponding scene delegate classes. Each change directly implements issue #13623. No unrelated change is present in the reviewed diff.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the scene at dawn,
Two platform manifests are drawn.
A delegate joins the MAUI scene,
Each launch follows its configured theme.
The rabbit hops, then bounds away.

Comment @coderabbitai help to get the list of available commands.

@yasmoradi
yasmoradi merged commit 171bc5f into develop Oct 18, 2026
8 checks passed
@yasmoradi
yasmoradi deleted the yasmoradi/13623/boilerplate-apple-scene-lifecycle branch October 18, 2026 11:20
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.

iOS/Mac Catalyst head crashes at launch on the iOS 27 SDK: "UIScene life cycle is required"

1 participant