iOS9でFacebookログインの実装方法のまとめです。
今回は画面にFacebookのログインボタンを表示する方法です。
Facebook Developerへの登録とSDKのダウンロード
Facebook Developerでアプリを登録し、SDKをダウンロード。
info.plistの登録
Facebook Developerで登録したFacebookAppID、FacebookDisplayNameをinfo.plistに追加する。
またLSApplicationQueriesSchemesを以下のように設定する。
framework追加
Facebook DeveloperからダウンロードしたSDKから以下のframeworkをプロジェクトに追加する。
- FBSDKCoreKit.framework
- FBSDKLoginKit.framework
ViewControllerの実装
FBSDKLoginButtonDelegateを実装したViewControllerを以下のように実装する。
ViewController.swift
import UIKit
import FBSDKCoreKit
import FBSDKLoginKit
class ViewController: UIViewController, FBSDKLoginButtonDelegate {
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
print("Logged In Success")
if (error != nil) {
print(error.debugDescription)
} else if (!result.isCancelled) {
// ログイン成功
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
// ログアウトに必要な処理を実装
}
override func viewDidAppear(animated: Bool) {
if (FBSDKAccessToken.currentAccessToken() == nil) {
// トークンがない場合は未ログインなので、ログインボタンを表示
print("Not Logged In")
let loginView : FBSDKLoginButton = FBSDKLoginButton()
self.view.addSubview(loginView)
loginView.center = self.view.center
loginView.readPermissions = ["public_profile", "email", "user_friends"]
loginView.delegate = self
}
}
}