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

多次点击打开Immersive Space触发警告的优化方案咨询

多次点击打开Immersive Space按钮触发警告问题

我使用以下Swift代码打开Immersive Space:

Button {
    Task{
        await openImmersiveSpace(id: "globe")
    }
} label: {
    Text("Jump to Globe")
}

多次点击该按钮时,会触发警告:Unable to present another Immersive Space when one is already requested or connected

我目前的解决方案

我通过创建环境变量保存沉浸式空间的进入状态,点击按钮时先判断是否已进入:

在Globe视图中绑定状态更新:

Globe()
    .onAppear{
        model.isShowGlobe = true
    }
    .onDisappear{
        model.isShowGlobe = false
    }

修改按钮的点击逻辑:

Button {
    if model.isShowGlobe{
        return
    }
    Task{
        await openImmersiveSpace(id: "globe")
    }
} label: {
    Text("Jump to Globe")
}

另一种思路是:进入沉浸式空间后,隐藏或关闭Globe视图。

求助

请问是否有更优的解决方案?

内容的提问来源于stack exchange,提问作者Nullable

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 06:02:35