我刚刚从 Facebook iOS SDK 3.0.X 升级到 3.1.1,并重写了一些代码......
根据注销工作流程的 Facebook 文档(https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/authenticate/#step3),我正在调用FBSession.activeSession对象的closeAndClearTokenInformation方法。
这似乎对 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。