最新的 Facebook SDK 未从 App 注销

Posted

技术标签:

【中文标题】最新的 Facebook SDK 未从 App 注销【英文标题】:Latest Facebook SDK not logged out from App 【发布时间】:2020-05-12 09:43:40 【问题描述】:

我更新了我最新的 Facebook SDK。

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; login.loginBehavior=FBSDKLoginBehaviorNative;

loginBehavior 不适用于此。 现在我的应用不会每次都退出登录

单击取消后,我没有任何选项可以使用任何其他帐户登录。

我的代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

 return  [[FBSDKApplicationDelegate sharedInstance] application:application
                                     didFinishLaunchingWithOptions:launchOptions];

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation

    return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                          openURL:url
                                                sourceApplication:sourceApplication
                                                       annotation:annotation];


- (void)applicationDidBecomeActive:(UIApplication *)application

    [FBSDKAppEvents activateApp];


 #pragma mark-5.Facebook Button Click
- (IBAction)bnfacebookClicked:(id)sender

    UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
        while (topController.presentedViewController) 
               topController = topController.presentedViewController;
            


    NSArray * allViewController = self.navigationController.viewControllers;
    NSLog(@"COntroller%@",allViewController);


    //Facebook Button click...
    txtEmailLogin.text = nil;
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(profileUpdated:) name:FBSDKProfileDidChangeNotification object:nil];


      FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
           [login logOut];
            NSLog(@"TOken%@",[FBSDKAccessToken currentAccessToken]);
    [login logInWithPermissions:@[@"public_profile", @"email"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
    
               if (error)
               
                else if (result.isCancelled)
               
               
               else
               
                   _fbRequesting = NO;


                   if ([result.grantedPermissions containsObject:@"public_profile"])
                   
                       if ([FBSDKAccessToken currentAccessToken])
                       
                           [[[FBSDKGraphRequest alloc] initWithGraphpath:@"me" parameters:@@"fields": @"name, email, picture"]
                            startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id user, NSError *error)
                            
                                if (!error)
                                
                                    ViewSignIn.hidden=false;
                                    [objappdelegate startActivityIndicator];
                                    typesocial=1;
                                    Userdetails=user;
                                    stremailidfinal=[NSString stringWithFormat:@"%@",[Userdetails valueForKey:@"email"]];
                                    [self SocialLoginSignup:Userdetails];

                                
                            ];
                       
                   
               
           ];
   // 


有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

这是有意设计的。如果您需要使用其他帐户登录,则需要从您的移动设备上退出 Facebook 应用程序,可能还需要退出 Safari 中的 facebook.com。

原因是,如果您退出某个应用,它不应该让您退出 Facebook,因为这违反了用户的期望。

上面写着here for Unity SDK,但同样的原则也适用。

在执行 Facebook 范围内注销的游戏中设置注销控件将违反用户的期望。相反,允许用户控制他们在 Facebook 上的登录状态。

【讨论】:

没有别的办法了吗?

以上是关于最新的 Facebook SDK 未从 App 注销的主要内容,如果未能解决你的问题,请参考以下文章

iOS Facebook 最新 SDK 无法通过原生 App 但浏览器登录

Firebase admob 未从 pod 或服务器获取最新的 google ad mob SDK

branch.io 深层链接 URL 未从 Facebook 广告在应用程序中传递数据

在 facebook sdk v3.13 上分享图片和文字

通过Facebook Native app - iOS Facebook SDK分享时,“引用”缺失

使用适用于 ARC 和多个开发人员的最新 iOS SDK 构建 Facebook