[iOS開發]如何在App中加入Facebook登入功能,使用Facebook SDK 4.x

這篇文章記錄了如何使用 Facebook SDK 4.x 進行登入,實際上我用 SDK 3.x 已經撐了很久很久…很久了,因為不想改 code 很懶Orz…。這次會升級最主要原因也是因為需要用到SDK 4.x 中,分享影片的相關功能。這部分新的SDK做得比較好。

在開始這篇之前,你必須確定已經完成,使用Facebook SDK 4.x 的前置步驟

1. 你需要 import FBSDKLoginKit
#import <FBSDKLoginKit/FBSDKLoginKit.h>
2. Facebook 登入的程式碼如下
NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"email",
                        nil];

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

[login
 logInWithReadPermissions: permissions
 fromViewController:self
 handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
     
     if (error) {
         NSLog(@"Process error");
     } else if (result.isCancelled) {
         NSLog(@"Cancelled");
     } else {
         NSLog(@"Logged in %@", result.token.userID);
     }
     
 }];

登入後的權限相關資訊會存在瀏覽器的cookie中,每次使用 FBSDKLoginManager 這個類別,都會存取到同一份瀏覽器的 cookie ,所以不管你在 app 的哪個部分都可以透過初始化 FBSDKLoginManager 類別得到你想要的登入資訊與權限資訊。

3. 每次登入記得先清除 cache

建議每次登入的時候都先使用 logOut 方法,進行登出。作用清除上次的 cache 之類的東西。不然有時候登入會報錯。

[login logOut];

相關文章
[iOS開發]如何分享影片至Facebook與Messenger,使用Facebook SDK 4.x

標籤: , ,

很愛畫虎爛的我,開始了用文章唬爛社會大眾的志業!