You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This makes the documented multi-window setup unlaunchable when built against the iOS 27 SDK.
Scope note: Apple's UIScene lifecycle adoption began as non-fatal warnings under the iOS 26 SDK and becomes a hard launch trap under iOS 27. I verified the crash on an iOS 27 device built with Xcode 27; I have not tested the iOS 26 SDK, so I can't confirm whether 26 traps or only warns.
Root cause
iOS 27 enforces a launch-time UIScene-adoption validator (_UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption). It inspects only the static Info.plist manifest and does not credit tao's programmaticapplication:configurationForConnectingSceneSession:options: (which vends a UISceneConfiguration named TaoScene with delegate class TaoSceneDelegate at runtime). With an empty UISceneConfigurations, the validator concludes the app has not adopted scenes and traps — even though tao is adopting them correctly at runtime.
Fix
Declare a static scene configuration that names tao's delegate class:
UISceneDelegateClassName must be exactly TaoSceneDelegate — tao's Objective-C runtime class name (from #[name = "TaoSceneDelegate"] in tao/src/platform_impl/ios/scene.rs).
UIApplicationSupportsMultipleScenes must be a real boolean <true/>; tao's multiple_scenes_enabled() reads this key and only then attaches the scene delegate method.
tao's programmatic path still runs and takes precedence; the static entry exists only to satisfy the launch-time validator (and is a valid fallback, since it points at the same class).
Separately, tao 0.35.3 needs the configurationForConnectingSceneSession autorelease fix from fix(ios): use autorelease_ptr to fix UISceneConfiguration crash tao#1245 (already on dev) to get past an earlier EXC_BAD_ACCESS on launch; this docs issue is about the distinct scene-adoption trap that remains after that.
Verified empirically on an iOS 27 device: empty <dict/> → traps on launch; the static config above → launches. Happy to open a PR against mobile-multiwindow.mdx.
Page
https://v2.tauri.app/learn/mobile-multiwindow/ — source
src/content/docs/learn/mobile-multiwindow.mdxProblem
The page instructs adding
UIApplicationSceneManifestwith an emptyUISceneConfigurations:On the iOS 27 SDK (Xcode 27), an app built with an empty
UISceneConfigurationscrashes at launch:This makes the documented multi-window setup unlaunchable when built against the iOS 27 SDK.
Root cause
iOS 27 enforces a launch-time UIScene-adoption validator (
_UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption). It inspects only the static Info.plist manifest and does not credittao's programmaticapplication:configurationForConnectingSceneSession:options:(which vends aUISceneConfigurationnamedTaoScenewith delegate classTaoSceneDelegateat runtime). With an emptyUISceneConfigurations, the validator concludes the app has not adopted scenes and traps — even though tao is adopting them correctly at runtime.Fix
Declare a static scene configuration that names tao's delegate class:
Notes:
UISceneDelegateClassNamemust be exactlyTaoSceneDelegate— tao's Objective-C runtime class name (from#[name = "TaoSceneDelegate"]intao/src/platform_impl/ios/scene.rs).UIApplicationSupportsMultipleScenesmust be a real boolean<true/>; tao'smultiple_scenes_enabled()reads this key and only then attaches the scene delegate method.Environment
tao0.35.3 needs theconfigurationForConnectingSceneSessionautorelease fix from fix(ios): use autorelease_ptr to fix UISceneConfiguration crash tao#1245 (already ondev) to get past an earlierEXC_BAD_ACCESSon launch; this docs issue is about the distinct scene-adoption trap that remains after that.Verified empirically on an iOS 27 device: empty
<dict/>→ traps on launch; the static config above → launches. Happy to open a PR againstmobile-multiwindow.mdx.