SlideShare a Scribd company logo
1 of 13
Здравей, Swift 
(Hello, Swift) 
Как да добавим Facebook Login в нашето 
приложение
Създаване на Facebook 
приложение 
https://developers.facebook.com/quickstarts/?platform=ios
Настройване на проекта
Добяване на “Bundle Identifier”
Създаване на проект
Създаване на проект
Връзка между Obj-c и Swift
Връзка с FacebookSDK
ViewController.swift
UserDetailsViewController.swift
Main.Storyboard
Login with Swift iOS App 
https://github.com/mvel 
ikov/facebook-login-with- 
swift/
Въпроси 
http://www.precisionnutrition.com/wordpress/wp-content/uploads/2013/02/10Questions.jpeg

More Related Content

More from Михаил Великов

Как да стартирам с нов продукт в Амазон?
Как да стартирам с нов продукт в Амазон? Как да стартирам с нов продукт в Амазон?
Как да стартирам с нов продукт в Амазон? Михаил Великов
 
Среща за продажби в Амазон 2 във Варна
Среща за продажби в Амазон 2 във ВарнаСреща за продажби в Амазон 2 във Варна
Среща за продажби в Амазон 2 във ВарнаМихаил Великов
 
Банкови сметки и плащания в системата на Амазон
Банкови сметки и плащания в системата на АмазонБанкови сметки и плащания в системата на Амазон
Банкови сметки и плащания в системата на АмазонМихаил Великов
 
Софтуерни инструменти в Амазон, които използвам
Софтуерни инструменти в Амазон, които използвамСофтуерни инструменти в Амазон, които използвам
Софтуерни инструменти в Амазон, които използвамМихаил Великов
 
Какво е Амазон? Уебсайт, магазин, бизнес, бъдеще?
Какво е Амазон? Уебсайт, магазин, бизнес, бъдеще?Какво е Амазон? Уебсайт, магазин, бизнес, бъдеще?
Какво е Амазон? Уебсайт, магазин, бизнес, бъдеще?Михаил Великов
 
Cloud Conf Varna 2013 NoSQL Database - Mihail Velikov
Cloud Conf Varna 2013 NoSQL Database - Mihail VelikovCloud Conf Varna 2013 NoSQL Database - Mihail Velikov
Cloud Conf Varna 2013 NoSQL Database - Mihail VelikovМихаил Великов
 

More from Михаил Великов (6)

Как да стартирам с нов продукт в Амазон?
Как да стартирам с нов продукт в Амазон? Как да стартирам с нов продукт в Амазон?
Как да стартирам с нов продукт в Амазон?
 
Среща за продажби в Амазон 2 във Варна
Среща за продажби в Амазон 2 във ВарнаСреща за продажби в Амазон 2 във Варна
Среща за продажби в Амазон 2 във Варна
 
Банкови сметки и плащания в системата на Амазон
Банкови сметки и плащания в системата на АмазонБанкови сметки и плащания в системата на Амазон
Банкови сметки и плащания в системата на Амазон
 
Софтуерни инструменти в Амазон, които използвам
Софтуерни инструменти в Амазон, които използвамСофтуерни инструменти в Амазон, които използвам
Софтуерни инструменти в Амазон, които използвам
 
Какво е Амазон? Уебсайт, магазин, бизнес, бъдеще?
Какво е Амазон? Уебсайт, магазин, бизнес, бъдеще?Какво е Амазон? Уебсайт, магазин, бизнес, бъдеще?
Какво е Амазон? Уебсайт, магазин, бизнес, бъдеще?
 
Cloud Conf Varna 2013 NoSQL Database - Mihail Velikov
Cloud Conf Varna 2013 NoSQL Database - Mihail VelikovCloud Conf Varna 2013 NoSQL Database - Mihail Velikov
Cloud Conf Varna 2013 NoSQL Database - Mihail Velikov
 

Здравей, Swift (Hello, Swift)

Editor's Notes

  1. Създаване на проект в XCode: iOS -> Application -> Single View Application Product Name: Facebook Login with Swift iOS Application Language: Swift Devices: Universal
  2. Добавяме FacebookSDK в проекта Създаваме Bridge-Header.h клас и импортираме FacebookSDK.h в проекта #import <FacebookSDK/FacebookSDK.h> Описваме Facebook App детайлите в Info.plist
  3. Регистрираме Facebook класовете, които ползваме в AppDelegate func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { FBLoginView.self FBProfilePictureView.self return true } func application(application: UIApplication, openURL url: NSURL, sourceApplication: NSString?, annotation: AnyObject) -> Bool { var wasHandled:Bool = FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication) return wasHandled } Добавяме FBLoginViewDelegate методи func loginViewShowingLoggedInUser(loginView : FBLoginView!) { println("User Logged In") } func loginViewFetchedUserInfo(loginView : FBLoginView!, user: FBGraphUser) { println("User Name: \(user.name)") fbUser = user performSegueWithIdentifier("showUserDetails", sender: fbLoginView) } func loginViewShowingLoggedOutUser(loginView : FBLoginView!) { println("User Logged Out") } func loginView(loginView : FBLoginView!, handleError:NSError) { println("Error: \(handleError.localizedDescription)") }
  4. Създаваме член променливи в класа 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 } }
  5. Създаваме клас 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. } }
  6. Създаваме изгледите за двата контролера в Main.Storyboard