【问题标题】:Can't pinpoint FBSDKGraphRequest crash无法查明 FBSDKGraphRequest 崩溃
【发布时间】:2015-08-13 22:11:02
【问题描述】:

我正在使用 FB 登录,我的应用程序在该方法中时不时地崩溃。它适用于我,但不适用于其他一些用户。在这个函数中,我使用从FBSDKGraphRequest 接收的数据在 Parse 中设置用户数据。

// Sends FB Graph Request and sets user attributes in Parse
    func setUserData() {

        var user = PFUser.currentUser()!

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

            if ((error) != nil)
            {
                println("Set user values error: \(error)")
            }
            else
            {

                firstName = result.valueForKey("first_name") as! NSString
                lastName = result.valueForKey("last_name") as! NSString
                user["name"] = "\(firstName) \(lastName)"

                NSUserDefaults.standardUserDefaults().setObject("\(firstName) \(lastName)", forKey: "name")

                id = result.valueForKey("id") as! NSString
                user["fbID"] = id

                gender = result.valueForKey("gender") as! NSString
                user["gender"] = gender

                email = result.valueForKey("email") as! NSString
                user["email"] = email

                user["score"] = 100

                user.saveInBackgroundWithBlock({ (success, error) -> Void in
                    if success {
                        objID = user.objectId!
                    }
                })
                self.performSegueWithIdentifier("segue", sender: self)
            }

        })

    }

现在,在 Crashlytics 中,我收到了 EXC_BREAKPOINT,但无法准确确定崩溃的来源或解决方法。看起来它可能来自 Facebook 方面?任何帮助将不胜感激。

【问题讨论】:

  • 我会从打印结果开始。当 Facebook SDK 调用您的完成处理程序时,似乎发生了崩溃。
  • @corvuszero 我无法读取该用户崩溃的日志。它在 FBSDKGraphRequest 函数的右括号处崩溃。我正在使用if error != nil 处理错误,所以我知道为什么会崩溃和冻结

标签: facebook swift parse-platform


【解决方案1】:

我也遇到了同样的问题。我忘了把权限放在 FBSDKLoginButton 上:

    facebookLoginButton.readPermissions = ["public_profile", "email", "user_friends"];

也许你也忘记了?

【讨论】:

  • 哦,顺便说一句。您的用户必须重新登录才能使更改生效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多