Създаване на проект в XCode:
iOS -> Application -> Single View Application
Product Name: Facebook Login with Swift iOS Application
Language: Swift
Devices: Universal
Добавяме FacebookSDK в проекта
Създаваме Bridge-Header.h клас и импортираме FacebookSDK.h в проекта
#import <FacebookSDK/FacebookSDK.h>
Описваме Facebook App детайлите в Info.plist
Създаваме член променливи в класа ViewController
import UIKit
class ViewController: UIViewController, FBLoginViewDelegate {
var fbUser : FBGraphUser?
@IBOutlet var fbLoginView : FBLoginView!
override func viewDidLoad() {
super.viewDidLoad()
self.fbLoginView.delegate = self
self.fbLoginView.readPermissions = ["public_profile", "email", "user_friends"]
}
}
Добавяме prepareForSegue метод в ViewController, с който изпращаме данни между двата контролера
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if sender as FBLoginView == fbLoginView {
let destinationController: UserDetailsViewController = segue.destinationViewController as UserDetailsViewController
destinationController.userName = fbUser?.name
destinationController.userProfileId = fbUser?.objectID
}
}
Създаваме клас UserDetailsViewController
Добавяме userName и userProfileId член променливи към класа
import UIKit
class UserDetailsViewController: UIViewController {
var userName: String?
var userProfileId: String?
@IBOutlet var userNameLabel: UILabel!
@IBOutlet weak var userProfileImageView: FBProfilePictureView!
override func viewDidLoad() {
super.viewDidLoad()
userNameLabel.text = userName
userProfileImageView.profileID = userProfileId
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Създаваме изгледите за двата контролера в Main.Storyboard