You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

visionOS开发报错:场景会话角色UISceneSessionRoleVolumetricApplication不匹配

解决visionOS应用场景角色不匹配错误

问题原因

报错提示Your app was given a scene with session role UISceneSessionRole(_rawValue: UIWindowSceneSessionRoleVolumetricApplication) but no scenes declared in your App body match this role,核心原因是你的App运行在Volumetric(体积)模式下,但当前声明的场景中没有匹配该角色的配置:

  • 默认的WindowGroup对应2D窗口场景角色,无法适配Volumetric模式的场景请求
  • 仅声明ImmersiveSpace不足以覆盖Volumetric主窗口的角色要求

解决方案

在App结构体的body中,将默认的WindowGroup替换为适配Volumetric角色的版本,或者新增一个匹配该角色的WindowGroup。

修改后的App.swift代码

@main
struct Day008App: App {
    var body: some Scene {
        // 声明适配Volumetric角色的窗口组
        WindowGroup(for: .volumetric) {
            ContentView()
        }

        ImmersiveSpace(id: "ImmersiveSpace") {
            ImmersiveView()
        }
    }
}

补充说明

如果需要同时支持2D窗口和Volumetric模式,可以声明多个WindowGroup分别对应不同角色:

@main
struct Day008App: App {
    var body: some Scene {
        // 2D窗口场景
        WindowGroup {
            ContentView()
        }
        // Volumetric场景
        WindowGroup(for: .volumetric) {
            ContentView()
        }

        ImmersiveSpace(id: "ImmersiveSpace") {
            ImmersiveView()
        }
    }
}

这样系统会根据当前运行模式自动匹配对应的场景配置,解决角色不匹配的错误。

内容的提问来源于stack exchange,提问作者Code on the Rocks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 06:53:35