facebook注销在ios 9.0中不起作用
使用Facebook SDK登录时,我无法注销。请检查以下代码: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
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。这非常有效,每次注销后都需要凭据。当我尝试使用上述代码注销时无法注销&下次尝试登录时,我会收到一条消息,即“您已授权应用程序”。请建议我。请帮助我解决这个问题…我在注销时尝试了上述代码,但它不起作用…因为我无法注销。当用户单击注销按钮时,请告诉我另一个解决方案,然后它应该像谷歌一样注销…这是手动解决方案,我需要像谷歌一样动态注销。