2011-06-03 49 views
0

这一切都让我发疯。 我只是在我的iPhone应用程序中集成了Facebook。 在登录对话框中输入我的用户名和密码后,调用此方法。脸书连接不起作用

- (void)request:(FBRequest*)request didLoad:(id)result { 
    if ([request.method isEqualToString:@"facebook.fql.query"]) { 
     NSLog(@"result %@",result); 

      NSArray* users = result; 
      NSLog(@"users %@",users); 
      NSDictionary* user = [users objectAtIndex:0]; 
      NSString* name = [user objectForKey:@"name"]; 
      self.facebookName = name;  

      if (_posting) { 
       [self postToWall]; 
       _posting = NO; 
      } 


    } 
} 

但经过这个应用程序崩溃,大多数时候,当我试图登录了“result”阵列它看起来是空的。为什么这样?

我该怎么办?请建议。

回答

0

我这样做的原因。

这是由于会话经常在两者之间迷路。 因此,我必须在facebook登录操作事件 中调用[会话恢复],并以这种方式,如果在任何一次会话都失去了任何机会,那么上一次会话恢复并且“result”看起来不是(void)request:(FBRequest*)request didLoad:(id)result方法。

希望这可以帮助那些陷入同样问题的人。

2

使用此代码


NSArray *users=[[NSArray alloc]initWithObjects:result, nil]; 
     NSLog(@"users %@",users); 
     NSDictionary* user = [[NSDictionary alloc]initWithObjectsAndKeys:users,@"users", nil]; 
     NSLog(@"%@",user);
+0

“结果”似乎为零。 – Aisha 2011-06-03 07:40:57