2015-08-03 24 views
7

Tôi đang triển khai đăng nhập Facebook trong ứng dụng của mình bằng cách sử dụng FBSDKLoginManager. Facebook docs dường như ngụ ý rằng đây tiết kiệm token cho ra mắt ứng dụng tiếp theo để người dùng không cần phải đăng nhập mỗi lần:Cách đăng nhập bằng iOS Facebook SDK 2.4

Các FBSDKLoginManager đặt thẻ này cho bạn và khi nó đặt currentAccessToken nó cũng tự động ghi nó vào bộ nhớ cache keychain.

Tôi đã cố gắng để lấy thẻ này từ nói bộ nhớ cache khi ứng dụng khởi chạy, hoặc hiển thị màn hình đăng nhập Facebook ứng dụng của tôi nếu nó không thể được tìm thấy:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    [FBSDKProfile enableUpdatesOnAccessTokenChange:YES]; 

    if ([FBSDKAccessToken currentAccessToken]) { 
     // user is logged in, continue to app's main screen 
    } else { 
     // show login screen 
    } 

    //... 
} 

Điều này cho thấy màn hình đăng nhập mỗi lần. Tài liệu trên Facebook không giải thích cách xử lý trường hợp sử dụng rất đơn giản này. Tui bỏ lỡ điều gì vậy?

Trả lời

2

Bạn cần gọi "ứng dụng [[FBSDKApplicationDelegate sharedInstance]: ứng dụng didFinishLaunchingWithOptions: launchOptions]" TRƯỚC KHI cố gắng lấy mã thông báo được lưu trong bộ nhớ cache.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions]; 

...

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