Parse和Facebook登录创建一个空用户

时间:2015-09-28 21:05:31

标签: ios facebook swift parse-platform

现在,Parse属于Facebook的家人,我希望你能帮助我找到解决问题的快速方法。

当用户第一次通过Facebook登录时,我的应用程序有时会崩溃,这次崩溃的原因是由于某种原因(我再说一遍)有时这个用户在解析数据库中被创建为空,它只获取一个Auth数据,并且每个其他字段都是空的,所以当我得到parseUser时它完全为空,一切都崩溃了。我知道我可以验证一切,所以它不会崩溃,但我的问题是为什么会发生这种情况?为什么总是这样?发生什么事?我在我的代码中请求al权限和用户需要的所有信息。

这是我正在使用的整个方法:我真的希望有人可以帮助我:

func fbLogin (successBlock:(result:User) -> () , errorBlock: (error:String) -> ())  {

    PFFacebookUtils.logInInBackgroundWithReadPermissions(kFbPermissions, block: {

        (user: PFUser?, error: NSError?) -> Void in

        if let user = user {

            if user.isNew {

                println("User signed up and logged in through Facebook!")

                FBSDKGraphRequest(graphPath: "me", parameters: nil).startWithCompletionHandler({ (connection, result, error) -> Void in

                    var loggedUser = User(result: result,aParseObject: user)
                            loggedUser.saveUser()
                            appDelegate.loggedUser = loggedUser
                            successBlock (result: loggedUser
                    })
                })
            } else {

                println("User logged in through Facebook!")
                var loggedUser = User(aParseObject: user)
                appDelegate.loggedUser = loggedUser
                println (appDelegate.loggedUser!.objectId)
                successBlock(result: loggedUser)
            }
        } else {
            println("Uh oh. The user cancelled the Facebook login.")
            errorBlock (error: localizedStringForKey("loginCanceled"))
        }
    })
}

0 个答案:

没有答案