Обработка неверного доступа с помощью FBSession openActiveSessionWithReadPermissions в Facebook iOS 3.1.1 SDK
Прежде всего, я прочитал обаэтот а такжеэтот вопросы для решения проблемы ниже и прежде чем задавать.
Моя проблема в том, что когда accessToken истекает (либо потому, что истекает срок годности, либо вручную, удаляя приложение из моего Facebook 's App Center) следующий код:
if ([[FBSession activeSession] isOpen]) {
//do something
}
else {
[FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if(FB_ISSESSIONOPENWITHSTATE(status)) {
//do something
}
}
}];
}
попадает в блок else с открытым FBSession.activeSession, но когдасделай что-нибудь' выполняется accessToken неверно, поэтому запрос получает ошибку: код состояния HTTP: 400. Когда я пытаюсь выполнить всю процедуру дважды, сразу же FBSession запрашивает разрешение (либо UIAlertView для iOS6, Facebook, приложение Facebook или сайт Facebook в Safari), и остальное проходит гладко.
Меня беспокоит то, почему я должен сделать все дважды, чтобы работать хорошо, и почему Facebook SDK не может обнаружить в первый раз, что activeSession и accessToken недопустимы.
Спасибо всем заранее!