2012-03-23 68 views
0


我正面临一个奇怪的问题。
输入正确的用户名和密码后。如果我按两次登录按钮(间隔2秒),弹出窗口消失。虽然当我再次点击FB按钮时它已经用共享屏幕登录。Facebook弹出问题 - iOS

如果我只按一次,那么它的工作正常。

预计: 它成功登录后将我带到弹出的共享屏幕。

另一个问题是有时候我的分享是第一次输入用户名和密码后不起作用。

虽然在10个它的作品9次,但有时后新鲜安装它只是不张贴到FB墙。

任何类型的建议将非常感激。

+0

你可以发布一些代码? – 2012-03-23 12:11:57

+0

我曾经遇到你的问题一次。所以,如果你把一些代码,当然我可以帮你。 – 2012-03-23 12:15:54

回答

0

试试这个代码,现在完全适合我。

-(void)buttonPressed:(id)sender{ 
facebook = [[Facebook alloc] initWithAppId:@"YOUR_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]; 
}else{ 
[self postWall]; 
} 
// Pre 4.2 support 
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { 
    return [facebook handleOpenURL:url]; 
} 
- (void)fbDidLogin { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"]; 
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"]; 
    [defaults synchronize]; 
    [self postWall]; 
} 
-(void)postWall{ 

    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            @"https://developers.facebook.com/docs/reference/dialogs/",@"link", 
            @"http://fbrell.com/f8.jpg",@"picture", 
            @"Facebook Dialogs",@"name", 
            @"Reference Documentation",@"caption", 
            @"Using Dialogs to interact with users.",@"description", 
            @"Facebook Dialogs are so easy!",@"message", 
            nil]; 

    [[self facebook] dialog:@"feed" andParams:params andDelegate:self]; 

} 

不要忘记添加应用ID