2015-03-26 19 views
15

Không còn lớp học nào khác FBSession trong Facebook iOS SDK v4.x. Làm cách nào để biết liệu người dùng có đăng nhập hay không? Cảm ơn trước.Không có FBSession trong Facebook iOS SDK 4.x

+3

Điều gì về việc sử dụng [FBSDKAccessToken currentAccessToken]? – Vincent

+4

"FBSession.activeSession đã được thay thế bằng [FBSDKAccessToken currentAccessToken] và FBSDKLoginManager. Không có khái niệm trạng thái phiên. Thay vào đó, hãy sử dụng trình quản lý để đăng nhập và điều này đặt tham chiếu currentAccessToken." từ https://developers.facebook.com/docs/ios/upgrading-4.x? – Larme

+0

Làm thế nào để bạn làm điều đó? – KarenAnne

Trả lời

11

Vincent là đúng, kiểm tra [FBSDKAccessToken currentAccessToken] để xác định nếu người dùng đang đăng nhập

+0

bạn có biết cách đăng xuất người dùng không, tôi cần làm điều đó theo chương trình –

+0

FBSDKLoginManager có phương thức đăng xuất nhưng các tài liệu trực tuyến hiện đang trống. Tôi chưa chuyển đổi sang 4.0 và tôi có cùng nhu cầu. Kiểm tra các tiêu đề cho đến khi https://developers.facebook.com/docs/reference/ios/current/class/FBSDKLoginManager/ kết thúc. –

+0

bạn có biết cách lấy thông tin người dùng sau khi đăng nhập thành công không, tôi cần lấy email – OXXY

5

Để kiểm tra xem người dùng đăng nhập và nếu như vậy, điều hướng đến cái nhìn khác:.

if ([FBSDKAccessToken currentAccessToken]) { 
    // User is logged in 
    [self performSelector:@selector(accessGrantedNavigation) 
       withObject:nil afterDelay:0.0]; 
} 

-(void)accessGrantedNavigation{ 
    [self performSegueWithIdentifier: @"segueLoginFB" sender: self]; 
} 

Để đăng xuất: (mặc dù nó không cho phép thay đổi người dùng FB. Tôi nghĩ đó là vì Safari đã quản lý phiên đó và vẫn là cùng một người dùng.)

FBSDKLoginManager *manager = [[FBSDKLoginManager alloc] init]; 
    [manager logOut]; 

Hy vọng nó sẽ giúp ích.

+1

Làm cách nào tôi có thể thay thế '[FBSession openActiveSessionWithAllowLoginUI: NO];'? –

Các vấn đề liên quan