swiftでfacebook認証を実装する手順まとめ2
はじめに
swiftでのfacebook認証を実装する手順 - とりあえずphpとか
こちらの続きになります。前回までで、Facebookでの設定やらxcodeの設定、SDKの準備まで完了したのであとは具体的にコードを書いていく形になります
また、今回実装する内容は以下です
実装方法
import UIKit
class SampleViewController: UIViewController
{
override func viewDidLoad() {
super.viewDidLoad()
// Facebookログインボタンを作る
var buttonFacebookLogin = UIButton()
buttonFacebookLogin.frame = CGRectMake(0,0,200,40)
buttonFacebookLogin.setTitle("Facebookログイン", forState: UIControlState.Normal)
buttonFacebookLogin.addTarget(self, action: "clickButtonFaceBookLogin:", forControlEvents: .TouchUpInside)
self.view.addSubview(buttonFacebookLogin)
}
func clickButtonFaceBookLogin() {
var fb: FBSDKLoginManager = FBSDKLoginManager()
fb.logInWithReadPermissions(["email"], handler: {(result: FBSDKLoginManagerLoginResult!, error: NSError!) -> Void in
if ((error) != nil) {
// エラー
} else if result.isCancelled {
// キャンセル
} else {
var token = FBSDKAccessToken.currentAccessToken()
if token != nil {
// ユーザーIDが取得できる
// token.userID
var graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil)
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in
if ((error) == nil) {
// Emailが取得できる
// result.valueForKey("email") as! NSString
}
})
}
}
})
}
}ちなみに「プロジェクト名-Bridging-Header.h」に以下の記述は必須になります
#import <FBSDKCoreKit/FBSDKCoreKit.h> #import <FBSDKLoginKit/FBSDKLoginKit.h>
ドキュメントにも実装方法書いてあったかと思いますが、
swiftでもこんな感じでいけました
以上です