2

我的 APP 的 Facebook 登录不起作用,我似乎无法弄清楚原因。

在我的.h文件中,我添加了#import "FBConnect.h"并且@interface MyImageViewControllerViewController : UIViewController<UINavigationControllerDelegate, FBSessionDelegate, FBRequestDelegate>我有我的Facebook *facebook;iVar。

我实现了所有需要的方法(如教程中所述),我就是这样做的。(我不会发布所有内容,因为我认为这毫无意义)

-(BOOL)facebooking{
facebook = [[Facebook alloc] initWithAppId:FB_APP_ID andDelegate:self];    
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) {
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];  

}
if (![facebook isSessionValid]) {
    [facebook authorize:nil];
} 
return YES;
}

- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];

UIAlertView *a = [[UIAlertView alloc] initWithTitle:@"Token" message:[facebook accessToken] delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil];
[a show];

}

现在,当我调用该facebooking方法时,它会在我的身份验证页面上启动 safari Facebook APP,我按下Okay它会返回我的iOS应用程序,但由于某种原因fbDidLogin没有调用它。也不是fbDidNotLogin。有什么地方我需要以某种方式指向他们吗?

谢谢你。

4

1 回答 1

1

你有没有实现这个方法?

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [facebook handleOpenURL:url]; 
}
于 2012-06-25T19:51:03.557 回答