Ich versuche, mit dem neuesten IOS SDK (4.0.1) von FB vertraut zu werden. Ich habe es in ein IOS8 Swift-Projekt integriert und den FBSDKLoginButton verwendet, um Benutzer an- und abzumelden. Ich möchte, dass die Anwendung den Login-Ansicht-Controller überspringt, wenn der Benutzer sich bereits angemeldet hat.IOS Facebook SDK 4.01: Soll ich FBSDKAccessToken.currentAccessToken() verwenden, um zu überprüfen, ob der Benutzer angemeldet ist?
Sollte ich nur das Ergebnis der Rückgabe von FBSDKAccessToken currentAccessToken() überprüfen? Gibt dies "Null" zurück, wenn ein Benutzer nicht angemeldet ist? Die Dokumente werden im Anschluss an dem über diese Methode zu sagen:
Sie dies von einem Schlüsselbund Cache mit dem SDK oder von einer App Lesezeichen laden können, wenn Ihre Anwendung kalt gestartet. Sie sollten die Verfügbarkeit in ViewDidLoad Ihres View-Controllers überprüfen.
Etwas wie:
// LoginViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
if(FBSDKAccessToken.currentAccessToken()){
//They are logged in so show another view
}else{
//They need to log in
}
}
So klingt wie es könnte sein, was ich suche, aber ich kann aus dieser Beschreibung nicht wirklich sagen. Wie gehen die guten Leute von SO mit diesem häufigen Anwendungsfall um? :)
-Nick
Dies ist hilfreich. Vielen Dank! – Nick
Hmm, das scheint nach dem "ersten" Facebook-Login zu funktionieren (wenn der User nach Facebook gehen und seine App autorisieren muss), aber dann beim nächsten Start der App (und der Button "Abmelden") das Token ist immer noch Null. –
@AndrewK Das habe ich nicht erlebt. Wenn Sie den Button "Abmelden" sehen, sollte currentAccessToken nicht Null sein, sonst würde es "Einloggen mit Facebook" heißen. Es verwendet das Zugriffstoken hinter den Kulissen, um den richtigen Schaltflächentext anzuzeigen. Vielleicht könnten Sie versuchen, Ihren Code in einer neuen Frage zu veröffentlichen. – jeffjv