【发布时间】:2020-01-24 17:19:57
【问题描述】:
升级 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 的类中,我正在我的 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
}
非常感谢任何关于如何设置根控制器的解决方案或修复。
谢谢!
【问题讨论】:
-
这是控制台中的完整错误消息吗?
-
您是否尝试过添加异常断点以获取有关崩溃的更多信息?
-
应该有更多关于发生了什么异常的信息。
-
@Larme 是的,这是完整的错误,它给了我 'libc++abi.dylib: terminating with uncaught exception of type NSException' 其次是 '(lldb)'
-
之前什么都没有?就像一个几乎一样的,有些字母大写和“NSUncaugthException”而不是“NSException”?
标签: ios swift ios13 uiwindow rootview