Facebook всплывающее окно - iOS - PullRequest
0 голосов
/ 23 марта 2012


У меня странная проблема.
При вводе правильного имени пользователя и пароля. Если дважды нажать кнопку входа в систему (с интервалом в 2 секунды), всплывающее окно исчезнет. Хотя, когда я снова нажимаю на кнопку FB, она уже вошла в систему с экрана обмена.

Если я нажму его всего один раз, то он будет работать нормально.

Ожидаемый: После успешного входа в систему меня выводит на экран обмена информацией во всплывающем окне.

Другая проблема заключается в том, что мой ресурс впервые после ввода имени пользователя и пароля не работает.

Хотя из 10 он работает 9 раз, но иногда после новой установки он просто не публикуется на стене FB.

Любое предложение действительно будет оценено.

1 Ответ

0 голосов
/ 23 марта 2012

Попробуйте этот код, который сейчас отлично работает для меня.

-(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];

}

Не забудьте добавить ИД вашего приложения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...