До Xcode 11 можно было условно установить, с какого Storyboard запускать приложение iOS внутри AppDelegate
. Теперь с добавлением SceneDelegate
, насколько я понимаю, вы можете создать ту же самую логику c, с которой у меня возникают проблемы.
Если я установлю Storyboard Name
внутри Application Scene Manifest
I можно заставить приложение всегда запускаться на одной и той же раскадровке, но я хочу условно запустить на одной из двух раскадровок.
Я пробовал что-то подобное и с набором Storyboard Name
, и без него внутри Application Scene Manifest
но не могу заставить что-то работать. Есть идеи?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let _ = scene as? UIWindowScene else {return}
let storyboard: UIStoryboard
let initViewController: UIViewController
if (User.sharedInstance.isLoggedIn()) {
storyboard = UIStoryboard(name: "Main", bundle: nil)
initViewController = storyboard.instantiateViewController(withIdentifier: "MainTabs") as UIViewController
self.window?.rootViewController = initViewController
} else {
storyboard = UIStoryboard(name: "Login", bundle: nil)
initViewController = storyboard.instantiateViewController(withIdentifier: "LoginLanding") as UIViewController
self.window?.rootViewController = initViewController
}
self.window?.makeKeyAndVisible()
}