Facebook 登录名结果返回 null

Facebook login returning null for name result

我正在尝试使用新的 Facebook 4.0 sdks,但是我很困惑一旦成功获得权限后如何获取名称。由于某种原因,nslog returns 为空值?

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login logInWithReadPermissions:@[@"public_profile"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
        if (error) {
            // Process error           

        } else if (result.isCancelled) {
            // Handle cancellations

        } else {
        //success

            _nam = [FBSDKProfile currentProfile].name;
            NSLog(@"name %@", _nam);

     }}];

这样就解决了。

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login logInWithReadPermissions:@[@"public_profile"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
        if (error) {
            // Process error           

        } else if (result.isCancelled) {
            // Handle cancellations

        } else {
   [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (error) {

             }
             else {
                 NSString *userID = [[FBSDKAccessToken currentAccessToken] userID];
                 NSString *userName = [result valueForKey:@"name"];
}}];
}}];