2016-05-20 4 views
-1

Mein Ziel ist es sehr einfach, umleiten oder den Benutzer zu einem Hauptbildschirm navigieren, sobald er/sie angemeldet ist.Wie leite ich den Benutzer von der Anmeldung in Facebook auf einen Startbildschirm um?

Ich bin mit Facebook IOS SDK, der Login-Button

enter image description here

erstellen Sobald der Benutzer in die Schaltfläche angemeldet hat, wird abzumelden ändern, ist mein Ziel, den Benutzer zu einem Home-Bildschirm zu umleiten

enter image description here

ich einige c geschrieben ode und es hat einige API-Aufrufe, um die Daten zu speichern, die die App von Facebook IOS SDK (etc.) erhält E-Mail, Vorname, Nachname ..)

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) { 
     print("Login") 

     // if token exist , check the database whether the user's facebook id exist or not 
     if let _ = FBSDKAccessToken.currentAccessToken() { 
      fetchFacebookProfile() // this function simply store the data from facebook to the database, nothing fancy 
     } 


    } 

Meine eigentliche Frage ist, Wie leite ich den Benutzer auf einen neuen Bildschirm, nachdem er/sie bei Facebook angemeldet hat?

Antwort

0

Ich bin sicher, es gibt viele Möglichkeiten, diese Frage zu beantworten, ist hier ein:

In AppDelegate.swift fügen Sie den folgenden Code

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    //1 
    Data.ref.observeAuthEventWithBlock { (authData) -> Void in 
     //2 
     if authData == nil { 
     let mainStoryBoard = UIStoryboard(name: "Main", bundle: nil) 
     let ViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("LoginScene") as! LoginVC 
     let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
     appDelegate.window?.rootViewController = ViewController 
     } 
    } 
    return true 
    } 
  1. Data.ref ist nur ein Verweis auf die Datenbank in dem der Benutzer sein Token hat
  2. authData ist ein , die anzeigen, ob der Benutzer angemeldet ist oder nicht, und wir verwenden den Beobachtungsblock, um Änderungen inzu überwachen

In Ihrem Storyboard, mögen Sie Ihre storyboard entry point auf Ihre main screen zeigen und wenn der Benutzer nicht angemeldet ist, wird die AppDelegate die Benutzer auf login screen zu lenken. Auf diese Weise muss der Benutzer, der sich bereits angemeldet hat, nicht jedes Mal über den Anmeldebildschirm gehen, wenn er die App verwendet.

Screen Shot of how the storyboard should look like in this case