Выход из Facebook после публикации с помощью Facebook iOS SDK

Я создаю приложение для iPad, в котором пользователь может опубликовать изображение на своей временной шкале. Эти iPad можно арендовать, поэтому пользователь должен выйти из системы после завершения обмена.

Я реализовал вход в Facebook для iOS, поэтому пользователь перенаправляется в Safari для входа. После общего доступа я очищаю все токены, и в моем приложении сеанс уничтожается, но когда я после этого захожу в Safari, пользователь все еще входит в систему.

Есть ли способ убедиться, что пользователь вышел из системы везде?

С уважением, Фредерик


person Frederik Jacques    schedule 20.08.2014    source источник


Ответы (1)


Я делал что-то подобное в прошлом. Это был поток, в котором любой пользователь, владеющий iPad, входит в систему со своими учетными данными FB, заставляя SDK отображать веб-просмотр.

Беглый взгляд, это код, который я написал для него: (этому коду 1,5 года)

 FBSession *newSession = [[FBSession alloc] initWithPermissions:@[
                             @"user_about_me",
                             @"publish_actions",
                             @"user_birthday",
                             @"friends_birthday",
                             @"email"
                            ]];


    [FBSession setActiveSession:newSession];

    [[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorForcingWebView completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {

        [FBSession setActiveSession:session];

        if(error){
            NSLog(@"Error opening session");
            [self showLoginError:error];
            return;
        }

        if(status == FBSessionStateOpen){
            NSLog(@"FB session opened");
            [self getMe];
        }
    }];

Когда поток заканчивается или пользователь отменяет поток, я выхожу из системы следующим образом:

[[FBSession activeSession] closeAndClearTokenInformation];    
[FBSession setActiveSession:nil];

ОБНОВЛЕНИЕ: код диалогового окна общего доступа:

NSMutableDictionary *dialogParameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   [NSString stringWithFormat:@"%@ - Vote for us!", 
                                   teamName, @"name",
                                   @"Campaign title", @"caption",
                                   shareMessage, @"description",
                                   shareTeamPageURL, @"link",
                                   sharePictureURL, @"picture", nil];


    [FBWebDialogs presentFeedDialogModallyWithSession:[FBSession activeSession] 
    parameters:dialogParameters 
    handler:nil];
person JoriDor    schedule 20.08.2014