Я только что обновил с помощью iOS SDK 3.0.X до 3.1.1 и переписал код...
В соответствии с документацией в Facebook для рабочего процесса выхода (https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/authenticate/#step3), я вызываю closeAndClearTokenInformation метода объекта FBSession.activeSession.
Это, похоже, не влияет на состояние сеанса Facebook, поскольку проверяет его сразу же после того, как вызов по-прежнему возвращает открытый сеанс.
Как и в случае с тем, как только мое приложение входит в систему с Facebook, оно не выходит из системы.
[ОБНОВЛЕНИЕ 1]
В соответствии с запросом, здесь код, который я использую для проверки состояния сеанса:
if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded && FBSession.activeSession.isOpen)
//logged in
else
//not logged in
[ОБНОВЛЕНИЕ 2]
Немного изменила мою логику... Изменен исходный код:
if (FBSession.activeSession.isOpen)
//logged in
else
//not logged in
Поскольку FBSession.activeSession.state возвращал FBSessionStateOpen, а не FBSessionStateCreatedTokenLoaded.