После обновления XCode критическая часть моего приложения перестала работать.
Когда мое приложение запускается, я запускаю функцию для проверки логических флагов и устанавливаю правильный rootViewController.
Но код, который я использовал для установки этого, теперь перестал работать
class func setLoginAsInitialViewContoller(window:UIWindow) {
print("SET LOGIN")
let storyboard = UIStoryboard(name: "Login", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "LoginViewController")
controller.modalPresentationStyle = .overFullScreen
window.rootViewController = controller
window.makeKeyAndVisible()
}
В частности, когда приложение получает вторую последнюю строку window.rootViewController = controller
, оно завершается с ошибкой libc++abi.dylib: terminating with uncaught exception of type NSException
.
Вышеуказанная функция находится в классе с именем Utilities.swift
, и я вызываю функцию изнутриmy AppDelegate.swift
, как показано ниже:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var storyboard: UIStoryboard? = nil
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.isIdleTimerDisabled = true
Utilities.decideInitialViewController(window: self.window!)
return true
}
Любые решения или исправления относительно того, как я могу установить корневой контроллер, очень ценятся.
Спасибо!