2013-06-05 85 views
0

我实现FB登录,但从来没有得到回调... 在的.plist我没有添加FacebookAppID和FacebookDisplayNameFacebook登录永不回调

这里是我的代码。其从我的问题

-(IBAction)btnLoginWithFBClick:(id)sender { 

    _session = [[FBSession sessionForApplication:kApiKey secret:kApiSecret delegate:self] retain]; 
    [_session resume]; 

    if (![_session isConnected]) { 
     _loginDialog = nil; 
     _loginDialog = [[FBLoginDialog alloc] init]; 
     _loginDialog.delegate = self; 
     [_loginDialog show]; 
    } 
    else { 
     NSLog(@"logado"); 



- (void)dialogDidSucceed:(FBDialog *)dialog { 
    if ([dialog isMemberOfClass:[FBLoginDialog class]]) { 
     NSLog(@"[FBLoginDialog::dialogDidSucceed] just did succeed"); 
    } else if ([dialog isMemberOfClass:[FBPermissionDialog class]]) { 
     NSLog(@"[FBPermissionDialog::dialogDidSucceed] update user status"); 
     // [self facebookUpdateUserStatus]; 
    } 
} 

- (void)session:(FBSession*)session didLogin:(FBUID)uid { 
    [self getFacebookName]; 
    [_loginDialog setHidden:YES]; 
} 

- (void)session:(FBSession*)session willLogout:(FBUID)uid { 
    //_logoutButton.hidden = YES; 
    _facebookName = nil; 
} 

- (void)getFacebookName { 
    NSString* fql = [NSString stringWithFormat: 
        @"select uid,name, email, sex, pic from user where uid == %lld", _session.uid]; 
    NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"query"]; 
    [[FBRequest requestWithDelegate:self] call:@"facebook.fql.query" params:params]; 
} 

- (void)dialogCompleteWithUrl:(NSURL *)url { 
    if (![[url absoluteString] isEqualToString:@"fbconnect://success#="]) { // your msg 
     NSLog(@"ae"); 
    } 
} 


- (void)request:(FBRequest*)request didLoad:(id)result { 

    if ([request.method isEqualToString:@"facebook.fql.query"]) { 
     NSArray* users = result; 
     NSDictionary* user = [users objectAtIndex:0]; 
     NSLog(@"Usuario facebook: %@", user); 
     NSString *identifier = [user objectForKey:@"uid"]; 
     NSString *name = [user objectForKey:@"name"]; 
     NSString *email = [user objectForKey:@"email"]; 
     NSString *sex = [user objectForKey:@"sex"]; 
    } 
} 

我已经设置好的了Facebook应用程序的Apple ID,包ID等 我没找对谷歌的解决方案,但没有什么工作...任何想法,所有相关的代码?

回答

1

使用FBLoginView进行Facebook登录将FBLoginView添加到您的视图。 执行类似的FBLoginViewDelegate方法。

-(void)loginViewShowingLoggedInUser:(FBLoginView *)loginView { 

//do what you want when login is successfull. 

    } 

//用于注销ü可以简单地弹出对已添加FBLoginview

认为

//或U可以调用此方法来注销和流行,查看您所想

- (void)closeSession { 

    [FBSession.activeSession closeAndClearTokenInformation]; 

} 

//此方法也添加到您的appdelegate

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ 

     // FBSample logic 
     // We need to handle URLs by passing them to FBSession in order 
     // for SSO authentication to work. 

     return [FBSession.activeSession handleOpenURL:url]; 


    } 
+0

谢谢,我是缺少的appdelegate的方法,该工作点上! – Veeru