I've used UIKit to replace UIWindow.rootViewController.
How to implement it in SwiftUI? I had a question, so I looked it up.
When using the Swift UI lifecycle of iOS 14 or later.
In Xcode12, when creating a project, you can select Swift UI App and UIKit App Delegate as Life Cycle, but if you select the former.
Implement as follows.
@main
struct LaunchScreenTestApp: App {
@State var index: Int = 0
var body: some Scene {
WindowGroup {
if self.index == 0 {
ContentView(index: self.$index)
} else {
SecondView(index: self.$index)
}
}
}
}
The point is that it is surrounded by WindowGroup and switched by index.
You can switch to SecondView by changing the index in ContentView.
I checked using View Hierarchy of Xcode, but it was a change equivalent to rootViewController.
https://stackoverflow.com/questions/58104813/change-the-root-view-of-uihostingcontroller-in-swiftui → I used this method
https://qiita.com/Pman5151/items/0c079e2c79f132597ef9 → It is different from this method, but I used it as a reference.