2015-08-13 2 views
0

Я использую FB Login, и мое приложение рушится время от времени в этом методе. Он отлично работает для меня, но не для некоторых других пользователей. В этой функции я устанавливаю данные пользователя в Parse с данными, полученными от FBSDKGraphRequest.Не удается определить FBSDKGraphRequest crash

// 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? Любая помощь будет оценена по достоинству.

enter image description here

+0

Я бы начал с печати, что на результат. Кажется, что авария происходит, когда SDK Facebook вызывает ваш обработчик завершения. – corvuszero

+0

@corvuszero Я не могу читать журналы этого сбоя пользователя. Он сбой в закрывающей скобке функции FBSDKGraphRequest. И я обрабатываю ошибку с 'if error! = Nil', поэтому idk, почему это сбой и зависание – chicobermuda

ответ

0

У меня была такая же проблема. Я забыл поставить разрешения на FBSDKLoginButton:

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

Может быть, вы забыли это тоже?

+0

О, BTW. Вашим пользователям необходимо снова войти в систему, чтобы изменения вступили в силу. –

Смежные вопросы