【问题标题】:- (void)request:(FBRequest *)request didLoad:(id)result not called- (void)request:(FBRequest *)request didLoad:(id)result 未调用
【发布时间】:2012-06-05 06:36:41
【问题描述】:

为什么这个方法从来没有被调用?谁能帮我审查我的代码,我是新手。

这是我的 *.h 文件

@interface LoginViewController : UIViewController <FBSessionDelegate,FBRequestDelegate,FBDialogDelegate> {

    Facebook *facebook;
    IBOutlet UITextField *_txt;
    NSString *facebookUserID;

我想获取faceboo用户ID,所以我调用了API '[facebook requestWithGraphPath:@"me" andDelegate:self];'

- (void) fbDidLogin
{
    NSLog(@"[LOGIN] Used did login");
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];
    // User has logged in to Facebook, now get their userId from Facebook 
    [facebook requestWithGraphPath:@"me" andDelegate:self];     
}

我知道下面的方法会获取用户 ID,但它从未调用过。

- (void)request:(FBRequest *)request didLoad:(id)result 
{
    NSLog(@"Inside didLoad");     
    if ([result isKindOfClass:[NSArray class]])
    {
        result = [result objectAtIndex:0];
    }
    // When we ask for user infor this will happen.
    if ([result isKindOfClass:[NSDictionary class]])
    {
        //NSDictionary *hash = result;         
        NSLog(@"Name: %@", [result objectForKey:@"name"]);

        self.facebookUserID = [result objectForKey:@"id"];
        NSLog(@"ID: %@", [result objectForKey:@"id"]);
    }
}

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    你需要实现openURL或者handleOpenURL(后者在ios 4.2之前)。它需要在您的应用委托中实现,而不是您的视图控制器。

    fbDidLogin not called。 openURL 将导致 fbDidLogin 被调用

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
        NSLog(@"============HANDLE OPEN URL");
        ViewController *v =(ViewController *) vc;
        return [[v facebook] handleOpenURL:url]; 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多