Приложение не запускается с AppDelegate, didFinishLaunchingWithOptions () никогда не вызывается - PullRequest
0 голосов
/ 21 декабря 2018

Я новичок в программировании на iOS.Я пытаюсь сделать iOS-версию Android-приложения, которое у меня есть.

До того, как все заработало, но затем я добавил TabBarController в качестве основного UIViewController, и приложение начало запускаться в этом действии.

Этомоя раскадровка: это моя раскадровка

didFinishLaunchingWithOptions (): AppDelegate:

let tokenLogin: Bool = UserDefaults.standard.bool(forKey: "tokenLogin")
if !tokenLogin {
    self.showLoginScreen()
}

Так что идея в том, что если пользователь никогда не входил в систему, войдите в системупоявится экран, и если вход в систему действителен, запустится действие панели вкладок.

Прямо сейчас, потому что AppDelegate никогда не выполняется, я не могу заставить пользователя войти в систему.

Любая помощьбудет признателен.

РЕДАКТИРОВАТЬ:

Я изменил «Основной интерфейс» на пустое, как предложил DivyaS.Но все равно didFinishLaunchingWithOptions() не выполняется (я проверил, что это последняя версия функции).Я положил отпечаток в самом начале, чтобы проверить, но ничего.Экран просто черный.enter image description here

1 Ответ

0 голосов
/ 21 декабря 2018

Вам нужно перейти на вкладку General в target и прокрутить вниз до «Deployment Info», затем сбросить основной интерфейс с пустым.

Затем внутри AppDelegate.swift вам нужно поместить свою логику, чтобы выбрать View Controller.Пример:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    window = UIWindow.init(frame: UIScreen.main.bounds)
    window?.backgroundColor = UIColor.white
    if UserDefaults.sharedInstance.getIsUserLogin(){

        // user has configured his profile and he is ready to use the app
        // configure tab bar
        let vc = TabBarViewController()
        navigationController = UINavigationController.init(rootViewController: vc)

    } else {

        // user is not login 
        let vc = LoginViewController()
        navigationController = UINavigationController.init(rootViewController: vc)
    }
    window?.rootViewController = navigationController
    window?.makeKeyAndVisible()
    return true
...