🌌

Immersieve Spaceだけのアプリを作る

に公開

Immersieve Spaceだけのアプリを作る

visionOSのアプリでは、WindowSceneを使わずに次のようなシーン構成を取ることができます。

import SwiftUI

@main
struct App: SwiftUI.App {
    var body: some Scene {
        ImmersiveSpace {
            ImmersiveView()
        }
    }
}

このようにすると、Immersive Spaceだけのアプリを作ることができますが、この状態で起動すると次のようなエラーでアプリは起動しません。

Your app was given a scene with scene session role UIWindowSceneSessionRoleApplication but no scenes declared in your app body match this role.

これは、ImmersiveSpaceWindowSceneの役割を持たないため、WindowSceneを持たないアプリは起動できないということを示しています。

次のように、Info.plistのUIWindowSceneSessionRoleApplicationImmersive Space Application Session Roleに変更することで、Immersive Spaceだけのアプリを作ることができます。

Discussion