2015-05-20 12 views
7

Dostaję jakieś dziwne zachowanie z FBSDKAccessToken:Facebook iOS SDK FBSDKAccessToken.currentAccessToken() jest zerowy nawet po zalogowaniu?

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    println(FBSDKAccessToken.currentAccessToken()) //prints nil 

    if (FBSDKAccessToken.currentAccessToken() != nil) 
    { 
     // User is already logged in, do work such as go to next view controller. 
     println("this never prints") 
     self.generateAPILoginDetails() 
    } 
    else 
    { 
     let loginView : FBSDKLoginButton = FBSDKLoginButton() 
     self.view.addSubview(loginView) 
     loginView.center = self.view.center 
     loginView.readPermissions = ["public_profile", "email", "user_friends"] 
     loginView.delegate = self 
     FBSDKProfile.enableUpdatesOnAccessTokenChange(true) 
     NSNotificationCenter.defaultCenter().addObserver(self, selector: "onProfileUpdated:", name:FBSDKProfileDidChangeNotification, object: nil) 
    } 


} 

Próbuję uzyskać token, ale to zawsze zero, nawet gdy przycisk LoginView pokazuje komunikat „Wyloguj”, co wskazuje, że użytkownik jest , rzeczywiście, zalogowany na Facebooku.

+0

To naprawdę dziwne ... czy możesz zobaczyć login na stronie Facebook? Czy ustawiłeś identyfikator aplikacji na .plist? –

+0

Tak - ustawiono identyfikator appID. Skorzystałem z tego samouczka: http: //www.brianjcoleman.com/tutorial-how-to-use-login-in-facebook-sdk-4-0-for-swift/ na list. –

+1

sprawdź tę odpowiedź - http://stackoverflow.com/questions/30205396/fbsdkaccesstoken-currentaccesoken-is-not-being-updated-after-log-in/30206661#30206661 –

Odpowiedz

8

I zdobione:

Trzeba dodać:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "onTokenUpdated:", name:FBSDKAccessTokenDidChangeNotification, object: nil) 

miałem złą nazwę NSNotification (FBSDKProfileDidChangeNotification).

Następnie użyjesz procedury obsługi wywołania zwrotnego, aby uzyskać token i z tym zrobić!

Zobacz tutaj, aby uzyskać więcej informacji: http://www.andrewkouri.com/swift-1-2-and-facebooks-new-login-sdk/

+5

Callback działa, ale nadal nie rozwiązuje problemu bieżący token dostępu jest zerowy po wywołaniu w viewDidLoad(). Widząc, że oficjalna dokumentacja FBK mówi, że należy z tego korzystać, wciąż nie rozumiem, jak go uruchomić ... – clicky

Powiązane problemy