Facebook iOS SDK注销

bas*_*svk 6 iphone objective-c ios facebook-ios-sdk

我正在使用官方和更新的Facebook iOS SDK.
我们正在iPad上开发一个应用程序,该应用程序使用内部分发配置文件在实体店中使用.客户可以在公开的iPad上登录他们的Facebook帐户,以改善他们的购物体验.

我遇到的问题是,当用户登录他们的Facebook帐户时,下一个用户(客户)仍将使用之前用户的凭据(You have already authorized xxx, Press "Okay" to continue)登录.当然这不行.

有没有办法实际注销(注销,清除凭据或什么)前一个(或当前)用户,以便下一个用户可以填写自己的用户名和密码.

不幸的是,[[FBSession activeSession] closeAndClearTokenInformation]并没有完全成功.

到目前为止,这是代码的一部分:

 // .... 
 [[FBSession activeSession] closeAndClearTokenInformation];
 [FBSession.activeSession openWithCompletionHandler:^(FBSession *session,
                                                         FBSessionState state,
                                                         NSError *error) {
      // More code ...

  }];
// ...
Run Code Online (Sandbox Code Playgroud)

PS.cookie'workaround'对我不起作用(显然)

小智 8

从您的上下文来看,我假设您的设备没有安装Facebook应用程序,您也不希望使用iOS 6系统身份验证,这会使默认登录行为使用Safari.如果您要清除Safari cookie,那么这应该有效,但为了在您的场景中获得更流畅的体验,您应该使用该FBSession openWithBehavior:completionHandler:方法并指定一种行为,FBSessionLoginBehaviorForcingWebview以便它使用内联webview对话框进行身份验证.

请参阅Facebook iOS SDK中的SwitchUserSample作为示例,因为该示例演示了可以在多个帐户之间切换的应用程序.