ios6 – FaceBook SDK3.5 closeAndClearTokenInformation调用openActiveSessionWithReadPermissions的完成处理程序

ios6 – FaceBook SDK3.5 closeAndClearTokenInformation调用openActiveSessionWithReadPermissions的完成处理程序,第1张

概述我有以下代码,我在facebook登录时使用. - (BOOL)openFBSessionWithAllowLoginUI:(BOOL)allowLoginUI withCompletionHandler:(void (^)())completionHandler{ NSArray *permissions = [NSArray arrayWithObjects 我有以下代码,我在facebook登录时使用.
- (BOol)openFBSessionWithAllowLoginUI:(BOol)allowLoginUI            withCompletionHandler:(voID (^)())completionHandler{    NSArray *permissions = [NSArray arrayWithObjects:                        @"user_photos",@"email",nil];    return [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:allowLoginUI completionHandler:^(FBSession *session,FBSessionState state,NSError *error) {       if (error != nil) {        ...       } else {            switch (state) {               case FBSessionStateOpen:               {                   ...               }               case FBSessionStateClosed:               {                   ...               }               case FBSessionStateClosedLoginFailed:               {                   ...               }               default:                   break;           }       }   }];}

以上工作正常登录.但是,当我使用以下代码注销时

[FBSession.activeSession closeAndClearTokeninformation];

这再次调用openActiveSessionWithReadPermissions的completionHandler:permission allowLoginUI :.这对我来说没有意义.我不认为这是正确的行为.有没有人看到这个问题?我们如何退出?我在iOS6上使用SDK 3.5.

解决方法 根据 this thread在Facebook开发者BUG追踪器,这种行为是“设计”.

其实我建议一个更好的名字这个方法将是:openActiveSessionWithReadPermissions:allowLoginUI:stateChangeHandler:

因为这更准确地描述了发生了什么(“完成亨德勒”实际上是呼吁国家改变).

您可以通过以下几种方式处理此问题:Ben Cohen建议您可以在完成块中将completionHandler设置为nil(以确保运行一次),this answer建议创建一个FBSessionStateHandler运行一次处理程序,也可以打开状态更改.

理想情况下,由于我们依赖于特定用途的Facebook SDK(登录,注销,发出请求等),这些将通过代表提供,但由于SDK开发人员显然已经被“ooh块! “,您不得不在首次打开会话的时候定义您的状态更改处理程序.

总结

以上是内存溢出为你收集整理的ios6 – FaceBook SDK3.5 closeAndClearTokenInformation调用openActiveSessionWithReadPermissions的完成处理程序全部内容,希望文章能够帮你解决ios6 – FaceBook SDK3.5 closeAndClearTokenInformation调用openActiveSessionWithReadPermissions的完成处理程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1097040.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存