ios - Swift: Facebook SDK, checking missing permissions after successful login -


i trying check missing permissions once user has logged app.

func checkuserpermission()     {         let loginresult: fbsdkloginmanagerloginresult = fbsdkloginmanagerloginresult()         var missingpermissions: [string] = []         if !loginresult.grantedpermissions.containsobject("public_profile")         {             missingpermissions.append("public_profile")         }         if !loginresult.grantedpermissions.containsobject("email")         {             missingpermissions.append("email")         }         if !loginresult.grantedpermissions.containsobject("user_friends")         {             missingpermissions.append("user_friends")         }         if !loginresult.grantedpermissions.containsobject("user_likes")         {             missingpermissions.append("user_likes")         }          println(missingpermissions)      } 

this function ran when app state changes make sure have permissions need make app functional.

i receiving error "fatal error: unexpectedly found nil while unwrapping optional value" cant seem understand why. if "fbsdkaccesstoken.currentaccesstoken()" set in theory permissions should set well.

found issue, assumed let loginresult: fbsdkloginmanagerloginresult = fbsdkloginmanagerloginresult() store permissions granted active permissions of current logged in user have rely on fbsdkaccesstoken. replacing loginresult

let loginresult: fbsdkaccesstoken = fbsdkaccesstoken.currentaccesstoken()

should fix issue. grantedpermissions changed permissions. here working function:

func checkuserpermission()     {          let loginresult: fbsdkaccesstoken = fbsdkaccesstoken.currentaccesstoken()           var missingpermissions: [string] = []         if !loginresult.permissions.containsobject("public_profile")         {             missingpermissions.append("public_profile")         }         if !loginresult.permissions.containsobject("email")         {             missingpermissions.append("email")         }         if !loginresult.permissions.containsobject("user_friends")         {             missingpermissions.append("user_friends")         }         if !loginresult.permissions.containsobject("user_likes")         {             missingpermissions.append("user_likes")         }          println(missingpermissions)          //let login: fbsdkloginmanager = fbsdkloginmanager()         //login.loginwithreadpermissions([""], handler: <#fbsdkloginmanagerrequesttokenhandler!##(fbsdkloginmanagerloginresult!, nserror!) -> void#>)         //login.loginw     } 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -