2016-11-09 6 views
0

내 앱에 대한 액세스 권한을 얻기 위해 사용자가 데이터를 제공하도록하고 있습니다.거부 ​​사용 권한 처리 Facebook 로그인

스위프트 3의 구문이 약간 변경 되었기 때문에이 문제를 해결하기 위해 노력하고 있습니다. 기본적으로 내 생각은 다음과 같습니다.

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) 
     }} 

내 인쇄 방법은 절대로 호출되지 않습니다. 사용자 (PFUser?)에서 FBSDKLoginManagerLoginResult로 캐스팅하는 실제 방법은 무엇입니까?

답변

1

사용자 대신 실제 FBSDKLoginManagerLogin 결과를 가져 오는 것이 좋습니다.

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

어떻게 내 사용자를 지금부터받을 수 있습니까? 그의 세부 사항도 필요하기 때문에 – JVS