2012-03-30 4 views
0

Я пытаюсь опубликовать сообщение на стене пользователей в приложении iOS. В первый раз, когда пользователь пытается это сделать, приложение переключается на приложение Facebook, чтобы они могли войти в систему и принять наше приложение. Затем он автоматически возвращается в наше приложение как исключенное. Затем он открывает диалоговое окно UIWebView (чтобы пользователь мог опубликовать свое сообщение на своей стене), однако вместо этого в диалоговом окне отображается сообщение об ошибке: «Произошла ошибка. Повторите попытку позже». Последующие попытки опубликовать сообщение работают должным образом, проблема возникает, как представляется, сразу после входа или принятия нашего приложения на Facebook.Facebook Ошибка после входа в систему

Кроме того, когда отображается ошибка, и пользователь нажимает кнопку «ОК», чтобы закрыть диалоговое окно, он затем загружает стену пользователя, отображая все сообщения своих друзей, а не закрывая диалог.

Кто-нибудь знает какие-либо решения этой проблемы? Я работаю над последним SDK.

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

Authenciating сессия:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) { 
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"]; 
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"]; 
} 

if (![facebook isSessionValid]) { 
    NSArray *permissions = [[NSArray alloc] initWithObjects: 
          nil]; 
    [facebook authorize:permissions]; 
    [permissions release]; 

    return NO; 
} 

return YES; 

И код, чтобы показать диалог:

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           kAppId, @"app_id", 
           link, @"link", 
           imageURL, @"picture", 
           linkName, @"name", 
           caption, @"caption", 
           description, @"description", 
           nil]; 

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

ответ

0

Решил проблему, просто сделать отдельный вызов после того, как он возвращается обратно в наше приложение.

Смежные вопросы