2016-06-30 12 views
0

Ich logge mich mit Facebook SDK und alles ist richtig eingerichtet. Wenn ich meine App zum ersten Mal autorisiere, wird der Übergang zu meinem nächsten View-Controller durchgeführt. Aber wenn ich ab und versuchen Sie sich erneut anmelden, gibt die Segue einem Fehlerfataler Fehler: unerwartet gefunden Null beim Entpacken ein optionaler Wert beim Ausführen von segue

fatale Fehler: unerwartet null gefunden, während einen optionalen Wertes Abwickeln

Dies ist meinen Code in meiner AppDelegate Datei

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool{ 

    let result = FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation) 

    if result { 

     let token = FBSDKAccessToken.currentAccessToken() 
     let fieldsMapping = [ 
      "id" : "facebookId", 
      "name" : "name", 
      "email": "email" 
     ] 

     backendless.userService.loginWithFacebookSDK(
      token, 
      fieldsMapping: fieldsMapping, 
      response: { (user: BackendlessUser!) -> Void in 

       print("user: \(user)") 
       self.backendless.userService.setStayLoggedIn(true) 
       loadUser() 
       // Access the storyboard and fetch an instance of the view controller 
       let storyboard = UIStoryboard(name: "Main", bundle: nil) 
       let viewController: MainScreenViewController = storyboard.instantiateViewControllerWithIdentifier("loginViewController") as! MainScreenViewController 

       let rootViewController = self.window!.rootViewController! as UIViewController 
       print(rootViewController) 
       rootViewController.presentViewController(viewController, animated: true, completion: nil) 


      }, 
      error: { (fault: Fault!) -> Void in 
       print("Server reported an error: \(fault)") 
     }) 
    } 

    return result 
} 

der Fehler tritt bei rootViewController.presentViewController (ViewController, animiert: true, Abschluss: Null)

Ich habe versucht, segue in meinem ViewController in viewDidAppear() , und versuchte auch performSegueWithIdentifier(), aber der Fehler bleibt bestehen. Wenn ich meine Anwendung abbringe und es erneut versuche, funktioniert der Übergang einwandfrei. Bitte schlage mir vor, wo das Problem liegt. Danke im Voraus.

+0

Welcher viewContoller ist Ihr rootViewController? –

+0

Das Problem könnte in Ihrem MainScreenViewController sein. –

+0

gibt es rootViewController, ich bekomme meine ViewController, wo die Facebook-Login-Schaltfläche als mein rootViewController ist, wenn ich es drucke. –

Antwort

0

Ich denke, es gibt keine RootViewController, so dass Sie es wie unten

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 

var rootView: MyRootViewController = MyRootViewController() 

if let window = self.window{ 
     window.rootViewController = rootView 
} 
return true 
} 

setzen müssen und es dann anschliessend verwenden.

+0

zurückgab Ich habe es versucht, aber es funktioniert nicht, der gleiche Fehler kommt während der zweiten Anmeldung. rootViewContoller ist da –

Verwandte Themen