0

使用 Hackbook Facebook 代码,我在用户登录 Facebook 后屏幕出现问题。用户登录后,他/她会立即获得相同的登录前屏幕。当按下登录按钮时,她/他会进入正确的 (showLoggedIn) 屏幕。下面是使用的代码,但我还没有弄清楚必要的更改。

有没有什么方法可以中断登录 Facebook 的代码,然后在登录序列(通过浏览器)之后继续下一个序列(showLoggedIn)?谢谢你。

- (void)login {
    HackbookAppDelegate *delegate = (HackbookAppDelegate *)[[UIApplication sharedApplication] delegate];
    if (![[delegate facebook] isSessionValid]) {
        [[delegate facebook] authorize:permissions];
    } else {
        [self showLoggedIn];
    }
}
4

1 回答 1

0

试试这个托德

- (void)login {

// Check and retrieve authorization information
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.sessionDelegate = self;
    NSArray *permissions = [[NSArray alloc] initWithObjects:
                            @"user_likes", 
                            @"read_stream",
                            //@"user_about_me",
                            //@"email",
                            //@"publish_stream",
                            @"publish_actions", 
                            @"offline_access",
                            nil];
    [facebook authorize:permissions];
    //  [permissions release];
} else {
    [self showLoggedIn];
}
}

我正在使用 ARC,这就是我评论许可发布的原因,我希望这能满足您的需求

于 2012-07-26T04:57:13.363 回答