Я использую Parse/Swift с пользовательской кнопкой входа в систему Facebook. Он успешно загружается, и пользователь может войти в систему, но когда он успешно входит в систему, отображается только вспышка MainViewController, а затем возвращается на страницу входа.Facebook Sign In Segue To Main ViewController With Swift and Parse
Как я могу использовать его для использования в режиме segue или перейти к Main View Controller после успешного входа в Facebook? Каков правильный код для Swift 2?
Ниже мой код в моем SignInViewController для моей кнопки Facebook:
@IBAction func didTapFacebookConnect(sender: AnyObject) {
let permissions = [ "public_profile", "email", "user_friends" ]
PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, block: {
(user: PFUser?, error: NSError?) -> Void in
self.dismissViewControllerAnimated(true, completion: nil)
if let user = user {
if user.isNew {
print("User signed up and logged in through Facebook!")
} else {
print("User logged in through Facebook!")
self.dismissViewControllerAnimated(true, completion: nil)
}
} else {
print ("The user cancelled the Facebook; login.")
}
})
EDIT:
Это теперь мой новый код, но все с тем же вопросом, где новый ViewController выскакивает кратко, но затем вернитесь на страницу входа.
Это ошибка, которую я получаю. Предупреждение: попытка представить UITabBarController: 0x7face0f619f0> on U **** d.SignInViewController: 0x7face0d1c310, чей вид не находится в иерархии окон!
@IBAction func didTapFacebookConnect(sender: AnyObject) {
let permissions = [ "public_profile", "email", "user_friends" ]
PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, block: {
(user: PFUser?, error: NSError?) -> Void in
self.performSegueWithIdentifier("fbSignIn", sender: self)
if let user = user {
if user.isNew {
print("User signed up and logged in through Facebook!")
} else {
print("User logged in through Facebook!")
}
} else {
print ("The user cancelled the Facebook; login.")
}
добавил это ... performSegueWithIdentifier ("goSignIn"), но получите сообщение об ошибке .... не может преобразовать значение типа 'String' в ожидаемый тип аргумента ..... и т. Д. –
i обновил вызов аргумента для performSegueWithIdentifier. Вы должны передать параметр отправителя nil для случая. Кроме того, убедитесь, что вы создали segue и указали ему идентификатор, иначе будет выбрано исключение. – user2532485
Я обновил свой код с помощью функции segue, но проблема все еще происходит. Новый ViewController появится, а затем он вернется на страницу SignIn. –