Firebase + Swift: desviación de pantalla de inicio de session de usuario

Así que estoy trabajando en una nueva aplicación y estoy usando Firebase para administrar todo el contenido del backend con los inicios de session del usuario, etc., he creado una pantalla de inicio de session / logging para los usuarios cuando cargan la aplicación. Lo que estoy tratando de hacer es cargar el HomeScreenVC si el usuario ya está conectado y si el usuario no está, entonces se dirigirían al inicio de session / logging vc.

Tipo de que funcione en el sentido de que funciona si el usuario ya es un usuario actual, pero el problema que tengo es que si el usuario nunca ha cargado la aplicación, se bloquea porque no puede detectar el usuario actual.

Mi código que tengo en AppDelegate es:

var window: UIWindow? var storyboard: UIStoryboard? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. FIRApp.configure() self.storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) let currentUser = FIRAuth.auth()?.currentUser! if currentUser != nil { self.window?.rootViewController = self.storyboard?.instantiateViewControllerWithIdentifier("tabVC") } else { self.window?.rootViewController = self.storyboard?.instantiateViewControllerWithIdentifier("loginScreen") } return true } 

Este es el error que recibo: aquí

¡Cualquier ayuda sería genial! Estoy usando la última versión de Firebase y Swift 2.

Estás forzando despegar nada en esa línea, causando el locking. ¡Elimina el ! de FIRAuth.auth()?.currentUser!