티스토리 뷰

Swift로 페이스북 로그인 연동하기

https://developers.facebook.com 에서 새앱 추가 선택




보여질 앱의 ID 입력




페이스북 로그인 클릭 -> 설정 버튼 클릭



IOS 선택



IOS SDK 다운받기



SDK 다운로드 후 다음 작업 진행하기

한단계씩 설명 있음



도큐멘트에 FacebookSDK 디렉토리 생성 -> 다운받은 SDK 압축풀기



압축을 푼 SDK디렉토리의 위치 (Xcode에서 프레임워크 검색 경로로 사용될 예정)




프로잭트 디렉토리에 "FrameWorks" 디렉토리 생성하기




압축을 푼 SDK중에 CoreKit과 LoginKit을 Frameworks디렉토리로 드레그하기


프레임워크 디렉토리에 추가된 모습




Build Settings에 Framework Search Paths 설정하기




SDK압축을 푼 위치 입력해주기




프로잭트의 번들 ID를 복사하여



번들 식별자 추가란에 붙여넣기



info.plist 파일 수정 필요

코드 복사하기



info.plist 파일을 소스코드로 열어서 




복사한 코드를 붙여넣기




앱 델리게이트 연결을 위해 AppDelegate.swift파일을 열기

설명페이지에는 오브젝티브 C로 코드를 작성하는 방법이 있으나 

우리는 Swift를 사용하여 코드를 작성할 예정

설명 페이지의 소스코드는 무시



AppDelegate.swift 소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
import UIKit
import CoreData
import FBSDKCoreKit //페이스북 SDK
 
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
 
    var window: UIWindow?
 
 
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        
        FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
        
        return true
    }
    
    func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
        
        let handled = FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
        
        return handled
    }
    
    
    //iOS 10 이상을 사용하는 경우 다음 코드를 사용하여 위 샘플의 마지막 호출을 변경할 수 있습니다. 이렇게 하면 더욱 다양한 옵션을 사용할 수 있습니다.
    func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
        
        let handled = FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
        
        return handled
    }
 
}
cs



로그인 버튼 만들기

ViewController.swift 소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import UIKit
import FBSDKCoreKit
import FBSDKLoginKit
 
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        //버튼생성
        let loginButton = FBSDKLoginButton()
        
        //읽기권한 추가
        loginButton.readPermissions = ["public_profile","email","user_friends"]
        
        //중앙으로 배치
        loginButton.center = view.center
        
        //뷰에 추가
        view.addSubview(loginButton)
    }
 
}
cs


끝!




댓글
댓글쓰기 폼