我使用Facebook的-IOS-SDK(4.0.1)与自定义按钮进行登录。 我执行下面的代码
- (IBAction)fbButtonClicked:(UIButton *)sender {
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"email"]) {
// Do work
if ([FBSDKAccessToken currentAccessToken]) {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/friends" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result2, NSError *error) {
if (!error) {
NSLog(@"fetched user:%@", result2);
}
}];
}
}
}
}];
}
如果我有一个设备上安装Facebook应用程序,然后代码工作正常。 当我没有安装Facebook应用程序,那么Facebook是在浏览器中打开。 在这里,“result.isCancelled”设置为“YES”,我没有得到需要的结果。