2015-04-02 19 views
12

trước đây tôi đã sử dụng sau đây để xóa và thiết lập lại các truy cập Facebook thẻĐặt lại Facebook Mã Reference - Facebook SDK 4.0

[FBSession.activeSession closeAndClearTokenInformation]; 

Kể từ khi cập nhật đến 4,0 này không còn hoạt động. FBSession.activeSession đã thay đổi thành [FBSDKAccessToken currentAccessToken].

Tuy nhiên, tôi không thể tìm thấy phiên bản mới nhất của closeAndClearTokenInformation hoạt động với phiên bản mới nhất. Bất kỳ đề xuất?

Trả lời

36
FBSDKLoginManager *logMeOut = [[FBSDKLoginManager alloc] init]; 
[logMeOut logOut]; 

hoặc

[FBSDKAccessToken setCurrentAccessToken:nil]; 
[FBSDKProfile setCurrentProfile:nil]; 

đăng xuất

Sau đó, khi bạn đăng nhập một lần nữa, hãy chắc chắn để thiết lập:

login.loginBehavior = FBSDKLoginBehaviorWeb; 

Giống như vậy:

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
login.loginBehavior = FBSDKLoginBehaviorWeb; 
[login logInWithReadPermissions:@[@"user_friends"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
     etc... 
}]; 

Tôi tìm thấy một số thông tin trong tài liệu nói rằng FBSDKLoginBehaviorWeb có thể được sử dụng cho các ứng dụng "kiosk"; mà tôi đoán là các ứng dụng được thiết kế để có nhiều người đăng nhập vào chúng một cách thường xuyên.

Một điều cần lưu ý, phương pháp đăng nhập này tạo ra một UIWebView phương thức được thiết lập cho chế độ dọc. Tôi không chắc chắn nếu nó có thể thay đổi điều này được nêu ra.

+1

Tại sao bạn cần phải có 'login.loginBehavior = FBSDKLoginBehaviorWeb; '? – memyselfandmyiphone

+1

là một lưu ý tùy chọn đầu tiên hoạt động mà không cần 'login.loginBehavior = FBSDKLoginBehaviorWeb;'. Tôi nghĩ rằng bạn đã thiết lập SDK sai nếu bạn cần sử dụng dòng bổ sung này. – memyselfandmyiphone

+0

awesome ... + 1000000 –

3

Swift 2+ Giải pháp đơn giản

FBSDKLoginManager().logOut() 
+0

cài đặt này/xóa mã thông báo truy cập hoạt động phải không? –

+0

'LoginManager(). LogOut()' để tìm kiếm nhanh nhất Facebook Lib – Allreadyhome

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