I use Facebook login with my app. (Facebook iOS SDK version 3.11.1)
I ask for "email" permission:
NSArray *permissions = [NSArray arrayWithObjects: @"basic_info", @"email", nil];
Most of the time, I do get the user's email like that:
NSString *email = [user objectForKey:@"email"];
//user is (NSDictionary<FBGraphUser> *)
Sometimes I just don't. (I can see that the NSDictionary is not including email).
I am using this fix so the app won't terminate when i use email later and its nil:
NSString *email = [user objectForKey:@"email"] ? [user objectForKey:@"email"] : @"NO_EMAIL";
But i need the real mail, so i have to come up with a new solution. I haven't noticed something special with the problematic users. Any ideas what can be the problem?