Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
facebook注销在ios 9.0中不起作用_Ios_Objective C_Iphone_Facebook_Ios9 - Fatal编程技术网

facebook注销在ios 9.0中不起作用

facebook注销在ios 9.0中不起作用,ios,objective-c,iphone,facebook,ios9,Ios,Objective C,Iphone,Facebook,Ios9,使用Facebook SDK登录时,我无法注销。请检查以下代码: self.login =[[FBSDKLoginManager alloc]init]; [FBSDKAccessToken setCurrentAccessToken:nil]; [FBSDKProfile setCurrentProfile:nil]; [self.login logOut]; 这是使用FBSDKLoginButton时的解决方案在注销前不要清除任何内容: - (void)loginButton:(FBSDK

使用Facebook SDK登录时,我无法注销。请检查以下代码:

self.login =[[FBSDKLoginManager alloc]init];
[FBSDKAccessToken setCurrentAccessToken:nil];
[FBSDKProfile setCurrentProfile:nil];
[self.login logOut];

这是使用FBSDKLoginButton时的解决方案在注销前不要清除任何内容:

- (void)loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error{
    if (!error) {
        if ([FBSDKAccessToken currentAccessToken]) {
            [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"picture.type(large), email, name, id"}]
             startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
                 if (!error) {
                     //Perform your logic & then logout using below code
                     FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
                     [loginManager logOut];
                 }
             }];
        }
    }
}

检查您是否登录Safari浏览器,Facebook不负责在Safari浏览器中注销

self.login =[[FBSDKLoginManager alloc]init];
[FBSDKAccessToken setCurrentAccessToken:nil];
[FBSDKProfile setCurrentProfile:nil];
[self.login logOut];
注销
方法将在iOS应用程序中关闭Facebook的会话。
因此,只需从safari浏览器注销,然后检查它是否工作。

两个键是SSO和safari。Facebook没有很好地记录Facebook登录过程。您可能需要关闭SSO。这是在Facebook开发者网站上,您的应用程序在该网站的“设置”下注册。但更重要的是,我必须更改FBLoginManager的行为,以使用UIWebView而不是Safari。我使用以下代码片段完成了此操作:

FBSDKLoginManager *loginMgr = [[FBSDKLoginManager alloc] init];
loginMgr.loginBehavior = FBSDKLoginBehaviorWeb;

如果您使用默认行为,它将通过Facebook应用程序或浏览器Safari管理注销,而不是直接从应用程序管理注销。FBSDKLoginBehaviorWeb将在弹出窗口中使用iOS UIWebView。这非常有效,每次注销后都需要凭据。

当我尝试使用上述代码注销时无法注销&下次尝试登录时,我会收到一条消息,即“您已授权应用程序”。请建议我。请帮助我解决这个问题…我在注销时尝试了上述代码,但它不起作用…因为我无法注销。当用户单击注销按钮时,请告诉我另一个解决方案,然后它应该像谷歌一样注销…这是手动解决方案,我需要像谷歌一样动态注销。