2016-11-09 2 views
0

Ich versuche, meine Benutzer zu zwingen, ihre Daten bereitzustellen, um Zugriff auf meine App zu erhalten.abgelehnt Permission handling Facebook Login

Da sich die Syntax in Swift 3 ein wenig geändert hat, bin ich bei der Entwicklung dieses Problems festgefahren. Grundsätzlich meine Idee ist folgende:

let permissions = ["public_profile", "user_birthday", "user_photos"] 

PFFacebookUtils.logInInBackground(withReadPermissions: permissions, block: 
{ (user, error) -> Void in 

      // casting user to FBSDKLoginManagerLoginResult 
      // asking for specific data declined/granted Permissions 
      if let user = user as? FBSDKLoginManagerLoginResult { 

      print(user.declinedPermissions) 
      print(user.grantedPermissions) 
     }} 

Meine Druckmethode wird nie aufgerufen werden. Wie kann man den Benutzer (PFUser?) In FBSDKLoginManagerLoginResult umwandeln?

Antwort

1

Versuchen Sie, anstelle des Benutzers das tatsächliche FBSDKLoginManagerLoginResult als Ergebnis zurückzugeben.

let login:FBSDKLoginManager = FBSDKLoginManager() 
let permissions = ["public_profile", "user_birthday", "user_photos"] 
login.logIn(withReadPermissions: permissions, from: self) { (result: FBSDKLoginManagerLoginResult?, error: Error?) -> Void in 
    if(FBSDKAccessToken.current() != nil){ 
     let permissions = FBSDKAccessToken.current().permissions 
     print(permissions) 
     //Do whatever else you need to do with the result 
} 
+0

Wie kann ich jetzt meinen Benutzer von dort bekommen? Da ich auch seine Details brauche – JVS