|
// FBSDKLoginButtonDelegate has two required methods |
|
// loginButtonDidLogOut and loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult |
|
|
|
// |
|
// ViewController.swift |
|
// |
|
// Created by Alan Jaw on 2/29/16. |
|
// Copyright © 2016 Alan Jaw. All rights reserved. |
|
// |
|
|
|
import UIKit |
|
import FBSDKLoginKit |
|
import Firebase |
|
|
|
let ref = Firebase(url: "https://xxxxxxxx.firebaseio.com/") |
|
let facebookLogin = FBSDKLoginManager() |
|
let facebookPermissions = ["public_profile", "email", "user_friends"] |
|
|
|
class ViewController: UIViewController, FBSDKLoginButtonDelegate { |
|
|
|
override func viewDidLoad() { |
|
super.viewDidLoad() |
|
|
|
|
|
// create facebook login button programmatically |
|
let loginButton = FBSDKLoginButton() |
|
loginButton.center = view.center |
|
|
|
loginButton.readPermissions = facebookPermissions |
|
loginButton.delegate = self |
|
view.addSubview(loginButton) |
|
|
|
|
|
if (FBSDKAccessToken.currentAccessToken() != nil) |
|
{ |
|
// user logged in to facebook already |
|
} |
|
else { |
|
|
|
|
|
} |
|
} |
|
|
|
//MARK: FBSDKLoginButtonDelegate |
|
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) { |
|
if ((error) != nil) { |
|
// Process error |
|
} |
|
else if result.isCancelled { |
|
// Handle cancellations |
|
} |
|
else { |
|
// Navigate to other view |
|
print ("facebook login complete") |
|
} |
|
} |
|
|
|
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) { |
|
print ("logged out of facebook") |
|
} |
|
|
|
override func didReceiveMemoryWarning() { |
|
super.didReceiveMemoryWarning() |
|
// Dispose of any resources that can be recreated. |
|
} |
|
|
|
|
|
} |
|
|
Thanks for good code!