我试图强制我的用户提供他们的数据以访问我的应用。
由于 Swift 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 的真正方法是什么?
最佳答案
尝试取回实际的 FBSDKLoginManagerLoginResult 作为结果而不是用户。
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
}
关于swift - 拒绝权限处理 Facebook 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40511374/