Позвольте мне сначала извиниться, просто научиться быстро, поэтому я не на 100% на то, что делаю. Я нашел много учебников по интеграции входа в facebook в swift и имеет то, что, кажется, работает в приложении, но, похоже, мои делегаты никогда не вызываются. То, что я ожидаю, произойдет, когда пользователь войдет в систему, должно произойти 2 вещи.IOS Swift и Facebook SDK
1) Кнопка входа в систему для facebook должна быть изменена на кнопку выхода из системы.
2) Команда консоли должна печатать, что я вошел в систему, и, в конечном счете, информацию о пользователе.
ViewController Класс:
class ViewController: UIViewController,FBLoginViewDelegate {
@IBOutlet var fbLoginView : FBLoginView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.fbLoginView.delegate = self
self.fbLoginView.readPermissions = ["public_profile", "email", "user_friends"]
}
// Facebook Delegate Methods
func loginViewShowingLoggedInUser(loginView : FBLoginView!) {
println("User Logged In")
println("This is where you perform a segue.")
}
func loginViewFetchedUserInfo(loginView : FBLoginView!, user: FBGraphUser){
println("User Name: \(user.name)")
}
func loginViewShowingLoggedOutUser(loginView : FBLoginView!) {
println("User Logged Out")
}
func loginView(loginView : FBLoginView!, handleError:NSError) {
println("Error: \(handleError.localizedDescription)")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
AppDelegate секции являются:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
FBLoginView.self
FBProfilePictureView.self
func application(application: UIApplication, openURL url: NSURL, sourceApplication: NSString?, annotation: AnyObject) -> Bool {
var wasHandled:Bool = FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication)
return wasHandled
}
return true
}
Как вы можете видеть, большинство это прямо из учебников, но не работает правильно. У меня настроен мой info.plist, и появляется FBLoginView и проходит через всю проверку подлинности, но ничего не печатается на консоли, и кнопка не изменяется.
Когда я пытаюсь щелкнуть его снова, я уже получил разрешение на использование приложения, что должно означать, что auth был успешным, но ничего не было вызвано в моем приложении.
Я уверен, что что-то, вероятно, неправильно с моей AppDelegate но, будучи новым для быстры, я не имею понятия, что ..
ли вы получить что-нибудь в журнале? – Jageen
Единственное, что в журнале это консольный вывод: «User Logged Out». Я считаю, что это просто потому, что fbLoginView создается с ошибкой. – Joseph
Когда вы нажимаете в первый раз, для проверки подлинности? и во время этого он записывал что-нибудь? – Jageen