Получите некоторые проблемы с Parse и Swift. Я пытаюсь использовать Facebook Login с классом Parse PFFacebookUtils. Вот код:Проблемы с Swift и Parse (и xCode)
// LOG IN or SIGN UP with FACEBOOK
@IBAction func FacebookLogin() {
PFFacebookUtils.logInWithPermissions(permissions, {(user: PFUser!, error: NSError!) -> Void in
if error == nil {
if user == nil {
NSLog("Uh oh. The user cancelled the Facebook login.")
let userCancelledAlert = UIAlertController(title: "Error", message: "You cancelled the Facebook Login", preferredStyle: .Alert)
let okButton = UIAlertAction(title: "OK", style: .Default, handler: nil)
userCancelledAlert.addAction(okButton)
let cancelButton = UIAlertAction(title: "Cancel", style: .Default, handler: nil)
userCancelledAlert.addAction(cancelButton)
self.presentViewController(userCancelledAlert, animated: true, completion: nil)
} else if user.isNew {
NSLog("User signed up and logged in through Facebook!")
FBRequestConnection.startWithGraphPath("me?fields=email", completionHandler: { (connection, result, error) -> Void in
if error == nil {
let fbGraphicObject = result as FBGraphObject
println(fbGraphicObject)
}
})
} else {
NSLog("User logged in through Facebook!")
dispatch_async(dispatch_get_main_queue(), {() -> Void in
var homeViewController = self.storyboard?.instantiateViewControllerWithIdentifier("homePage") as HomeViewController
self.presentViewController(homeViewController, animated: true, completion: nil)
})
// end login (success)
}
} else { // if login doesnt work
println(error!)
/*
let facebookError = UIAlertController(title: "Error", message: "Cant connect to Facebook, check your connectivity", preferredStyle: .Alert)
let okButton = UIAlertAction(title: "OK", style: .Default, handler: nil)
facebookError.addAction(okButton)
let cancelButton = UIAlertAction(title: "Cancel", style: .Default, handler: nil)
facebookError.addAction(cancelButton)
self.presentViewController(facebookError, animated: true, completion: nil)
*/
}
})
}
Так что теперь мой вопрос: почему я не могу видеть то, что права доступа, когда я зарегистрироваться? Я имею в виду, что разрешения - это массив.
let permissions = ["email","user_birthday"]
Но когда я подписаться на сообщение является что-то вроде «[APP-NAME] хочет получить доступ к вашей основной информации и списка друзей. Почему бы не адрес электронной почты или user_birthday. Тогда, как я могу храня эту информацию в моей базе данных Parse? Я имею в виду, я вижу идентификатор, имя пользователя, пароль (очевидно, у меня нет), authData и т. д. У меня есть поле электронной почты, но оно пусто. Я предполагаю, что в коде что-то не так. Любой может найти? Наконец, не знаю почему, но xCode autocompletion для класса Parse (я использую Swift) не работает. Я импортировал фреймворк (я добавил заголовок моста), и он работал несколько дней назад.
Как раз перед входом в logInWithPermissions вы можете 'println (permissions)' видеть, что внутри? Что касается XCode, это может быть связано с http://stackoverflow.com/questions/24006206/sourcekitservice-terminated – Kalzem
@BabyAzerty, разрешения содержат «[email, user_birthday]», как я установил. Да, я читал это сообщение раньше, но это не моя проблема. У меня нет сообщений или черного окна. Просто редактор xCode не предлагает мне ничего о структуре Parse (классы, методы или свойства) –