Contents

Develop
2017.04.19 11:10

[ios] Facebook SDK 로그인 설명

Views 1292 Comment 0
Atachment
Attachment '4'
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

소셜 서비스들이 서드파티 로그인을 지원하는건 이미 다 아는 사실..

iOS 앱에서 Facebook SDK를 이용해 로그인/인증 처리 하는 과정을 심플하게 설명한다.


Facebook SDK의 로그인 동작 방식은 다음과 같이 4가지가 있다.

// FBSDKLoginManager.h
typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior)
{
  FBSDKLoginBehaviorNative = 0,
  FBSDKLoginBehaviorBrowser,
  FBSDKLoginBehaviorSystemAccount,
  FBSDKLoginBehaviorWeb,
};


위의 내용에 대한 설명과 실행 화면을 잠시 설명하고 샘플 코드로.. ㅋㄷ


1. FBSDKLoginBehaviorNative (Default)

- Facebook 앱 또는 웹뷰(Safari)를 선택하여 인증

- 앱이 설치되어 있지 않거나 웹뷰의 세션이 유효하면 선택없이 웹뷰로 동작


behavior01.jpg




2. FBSDKLoginBehaviorBrowser

- 웹뷰 사파리 또는 SFSafariViewController를 통해 인증


behavior02.jpg




3. FBSDKLoginBehaviorSystemAccount

- iOS 설정(Settings)의 Facebook 계정 정보를 이용하여 인증

- "사용자의 기본 프로파일 정보" 접근 권한 있을 경우 화면이동 없이 인증


behavior03.jpg




4. FBSDKLoginBehaviorWeb

- 앱 내부에 모달 UIWebView 팝업이 실행되며 이를 통해 인증


behavior04.jpg




# 샘플코드

#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>

.
.
.

FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];

[loginManager logOut];

//loginManager.loginBehavior = FBSDKLoginBehaviorNative;
//loginManager.loginBehavior = FBSDKLoginBehaviorBrowser;
//loginManager.loginBehavior = FBSDKLoginBehaviorSystemAccount;
//loginManager.loginBehavior = FBSDKLoginBehaviorWeb;

[loginManager
 logInWithReadPermissions: @[@"public_profile", @"email"]
 fromViewController:self
 handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
     
     if (error) {
         NSLog(@"Process error");
     } else if (result.isCancelled) {
         NSLog(@"Cancelled");
     } else {
         NSLog(@"Logged in");
     }
 }];



iOS 설정에서 페이스북 계정 설정이 되어 있는지 확인하기 위해서는 아래 코드를 이용하여 분기처리 할 수 있다.

#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <FBSDKShareKit/FBSDKShareKit.h>
#import <Social/Social.h>

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
    NSLog(@"user have filled fb acount details");
    // FBSDKLoginBehaviorSystemAccount 가능;
}
else
{
    NSLog(@"settings is empty");
    // FBSDKLoginBehaviorSystemAccount 방식으로 동작하지 않음;
}



?

  1. [ios] APNS, Remote Push 사용자가 수신을 동의했는지 확인하기

    Date2018.10.19 CategoryDevelop Byhooni Views1351
    Read More
  2. 영어. 반드시 외워야 할 문장 패턴 100개

    Date2023.06.08 CategoryEtc Byhooni Views1348
    Read More
  3. [js] 문자열에서 숫자만 걸러내기 (jQuery 안쓰고 정규표현식)

    Date2017.12.14 CategoryDevelop Byhooni Views1343
    Read More
  4. [ios] UIWebView를 이용한 로컬 HTML 파일 표시

    Date2015.01.02 CategoryDevelop Byhooni Views1326
    Read More
  5. 사이버보안실무 발표자료 (2017.06.08)

    Date2017.06.05 CategoryDevelop Byhooni Views1320
    Read More
  6. Enable the Develop Menu in Safari

    Date2017.02.07 CategorySystem/OS Byhooni Views1314
    Read More
  7. 원어민이 매일 쓰는 일상표현 150개

    Date2023.09.17 CategoryEtc Byhooni Views1310
    Read More
  8. [ios] Facebook Cache 갱신하는 함수

    Date2017.02.27 CategoryDevelop Byhooni Views1300
    Read More
  9. [android] Calling activity function from separate class

    Date2016.11.15 CategoryDevelop Byhooni Views1296
    Read More
  10. [ios] Facebook SDK 로그인 설명

    Date2017.04.19 CategoryDevelop Byhooni Views1292
    Read More
  11. [ios] NavigationController 에서 왼쪽(back) 버튼 후킹하기

    Date2015.10.23 CategoryDevelop Byhooni Views1288
    Read More
  12. [coding] Find all anagrams in a string

    Date2017.06.27 CategoryDevelop Byhooni Views1278
    Read More
Board Pagination Prev 1 ... 81 82 83 84 85 86 87 88 89 90 ... 98 Next
/ 98