Folks,
I’m writing an app which asks its user for credentials, logs into a server, retrieves data using the credentials entered, and then presents the data on screen. Very simple (so far).
I thus have written a SwiftUI app that chains two scenes, corresponding to the two phases of the app:
import SwiftUI
@main
struct MyApp: App {
@StateObject var stateObjectInstance = StateObject ()
var body: some Scene {
Window {
if !stateObjectInstance.hasValidCredentials {
someViewToAskAndCheckForCredentials
}
}
Window {
if stateObjectInstance.hasValidCredentials {
someViewToDisplayData
}
}
}
}
Problem is, I get inconsistent behaviour. This work the first time I execute the code. Then, it doesn’t: either both, or only the second, scene(s) don’t show up. If I swap the Window {}
blocks in the code, then it works fine again, but only once.
So my question is: is this expected behaviour because I got something wrong, is this caused by, say, some persistent state being restored whereas it should not, or is this a bug?
Thanks a bunch!