Пропустить страницу входа - пользователь уже вошел - не может переопределить начальный вид раскадровки - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь научиться IOS разработке и работе с Swift 5 и последней версией Xcode. Я пытаюсь создать простое приложение, в котором пользователь будет входить только в первый раз. Но я не могу перенаправить вошедших в систему пользователей в следующий раз, когда они откроют приложение непосредственно на «домашнем» экране, который состоит из UITabBarController. Код для проверки, вошел ли пользователь в систему, здесь не проблема, я перепробовал все, чтобы попытаться перенаправить пользователя в файл UITabBarController из AppDelegate специально для функции didFinishLaunchingWithOptions, но, похоже, ничего не работает.

Я установил страницу входа, как показано на рисунке ниже, как «Начальный вид» из Storyboard, но не могу переопределить ее с помощью Swift. Цените любого, кто может помочь с этим.

Моя архитектура приложения на этом изображении

1 Ответ

0 голосов
/ 19 апреля 2020

Вы должны внести изменения в SceneDelegate вместо AppDelegate.

   func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {

        guard let windowScene = (scene as? UIWindowScene) else { return }


        self.window = UIWindow(windowScene: windowScene)
        let storyboard = UIStoryboard(name: "MyStoryboardName", bundle: nil)
        guard let rootVC = storyboard?.instantiateViewController(identifier: "ViewControllerIdentifierName") as? ViewController else {
            print("ViewController not found")
            return
        }
        let rootNC = UINavigationController(rootViewController: rootVC)
        self.window?.rootViewController = rootNC
        self.window?.makeKeyAndVisible()
    }

Внутри функции вы можете проверить, вошел ли пользователь в систему или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...