2015-05-13 8 views
10

oturum açtıktan sonra güncelleştirilmiyor. Mükemmel bir şekilde çalışan bir Facebook oturum açma düğmesi uyguladım. Ancak, kullanıcı başarıyla Facebook'a giriş yaptıktan ve uygulamaya geri döndükten sonra [FBSDKAccessToken currentAccessToken], NO değerini döndürür. FBSDKAccessToken currentAccessToken,

-(void)viewDidLoad 
{ 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn)name :UIApplicationWillEnterForegroundNotification object:nil]; 
} 
-(void)checkLogIn 
{ 
     NSLog(@"IN CHECK LOG IN"); 

     if ([FBSDKAccessToken currentAccessToken]) { 

      NSLog(@"Access Token Activated"); 

     } 
} 

Ve Girisi sonra

Ben checkLogIn yöntemi çağrılan ancak [FBSDKAccessToken currentAccessToken] hala NO döndüren uygulamasına döndüğünüzde: İstediğim kod uygulamasına geri döndükten sonra çalışıp çalışmadığını görmek için bir gözlemci ekledi. Ancak, iPhone'da ana ekran düğmesine bastıktan ve uygulamaya geri döndükten sonra EVET olarak değişir.

Nasıl hemen güncellenebilir, bu yüzden kullanıcıya başka bir denetleyici gösterebilirim?

GÜNCELLEME: Uygulamaya geri döndükten sonra uygun kodu yürütme yolunu buldum. Anahtar, FBSDKAccessTokenDidChangeNotification kullanımının Bildirim Merkezi'dir. Bu nedenle, son sonuç şu şekilde olacaktır:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn) name: FBSDKAccessTokenDidChangeNotification object:nil]; 
Bu şekilde belirteci güncelleştirilecek ve çalışacaktır.

cevap

17

Lütfen appDelegate sınıfınızı kontrol edin ve tüm gerekli FB SDK yöntemlerini uygulayın. Aynı ekran için bir ekran görüntüsü ekliyorum.

enter image description here

+1

Ayrıca bu yazı http://stackoverflow.com/questions/30042905/what-is-the-expected-behaviour-of-facebook-login/30046216#30046216 –

+1

Ben kontrol edebilirsiniz @smartTree Tüm bu kod uygulama delegesinde uygulandı. Hala aynı sorun. – SmartTree

+0

Çözüm bulundu, cevabı güncellendi. – SmartTree