Mic*_*tai 3 facebook objective-c facebook-graph-api ios
我使用Facebook登录我的应用程序.(Facebook iOS SDK版本3.11.1)
我要求"电子邮件"许可:
NSArray *permissions = [NSArray arrayWithObjects: @"basic_info", @"email", nil];
Run Code Online (Sandbox Code Playgroud)
大多数时候,我确实得到了用户的电子邮件:
NSString *email = [user objectForKey:@"email"];
//user is (NSDictionary<FBGraphUser> *)
Run Code Online (Sandbox Code Playgroud)
有时我只是不这样做.(我可以看到NSDictionary不包括电子邮件).
我正在使用此修复程序,因此当我稍后使用电子邮件时,应用程序将不会终止,并且其nil:
NSString *email = [user objectForKey:@"email"] ? [user objectForKey:@"email"] : @"NO_EMAIL";
Run Code Online (Sandbox Code Playgroud)
但我需要真正的邮件,所以我必须提出一个新的解决方案.我没有注意到有问题的用户有什么特别之处.任何想法可能是什么问题?
它似乎是一个众所周知的问题......出于很多原因,并非Facebook上的每个人都有注册的电子邮件地址.
但正如我所说,我的问题是我需要一个真正的邮件.所以最简单的解决方案是使用用户的Facebook Email:user_name@facebook.com
NSString *email = [user objectForKey:@"email"] ? [user objectForKey:@"email"] : [NSString stringWithFormat:@"%@@facebook.com", user.username];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2439 次 |
| 最近记录: |