J'ai intégré la connexion Facebook dans mon application et par conséquent, l'utilisateur peut se connecter à la fois avec mon compte d'application et également Facebook et effectuer les actions correspondantes.Pour l'intégration Facebook, j'ai ajouté Facebook SDK.Maintenant, lorsque le bouton Déconnexion est cliqué dans mon application, il doit effacer tous les les informations d'identification du compte Facebook.J'ai opté pour:
-(IBAction)btnlogOutClicked:(id)sender
{
[appDelegate fbDidlogout];
}
-(void)fbDidlogout
{
FBSession* session = [FBSession activeSession];
[session closeAndClearTokenInformation];
[session close];
[FBSession setActiveSession:nil];
}
Mais quand je clique à nouveau sur le bouton, je suis redirigé directement vers mon compte sans aller sur la page de connexion Facebook.
Comment puis-je me déconnecter de Facebook?
En utilisant le nouveau kit de connexion Facebook SDK, écrivez juste en dessous de la ligne et c'est tout.
[[FBSDKLoginManager new] logOut];
Si vous utilisez Swift, assurez-vous d'avoir les importations nécessaires
import FBSDKLoginKit
func logout() {
FBSDKLoginManager().logOut()
}
Pour vous déconnecter, vous devriez essayer ceci
vous pouvez ajouter le bouton de déconnexion sur le contrôleur de navigation (coin supérieur droit) dans viewDidLoad méthode
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Logout"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(logoutButtonWasPressed:)];
et la méthode d'action pour le bouton ajouté ci-dessus est
-(void)logoutButtonWasPressed:(id)sender {
[FBSession.activeSession closeAndClearTokenInformation];
}
J'espère que ceci vous aidera!
Modifier:
Comme vous avez demandé pourquoi il ne demandait pas le nom d'utilisateur et le mot de passe, la raison en est:
Lorsque nous intégrons le SDK Facebook dans notre application et essayons de nous connecter, il vérifie automatiquement deux endroits (pour nous assurer que nous avons déjà connecté Facebook ou non)
Tout d'abord, il vérifie si nous nous sommes déjà connectés à l'application Facebook Native installée sur cet appareil.
il vérifie ensuite si nous avons enregistré notre nom d'utilisateur et notre mot de passe FaceBook dans les paramètres de l'appareil.
Si les deux endroits, nous ne nous sommes pas connectés, il demandera le nom d'utilisateur et le mot de passe dans l'application
vous pouvez vérifier la configuration du compte Facebook dans les paramètres de l'appareil comme indiqué dans la capture d'écran ci-dessous,
Appuyez sur le bouton Accueil -> Paramètres -> Facebook
FBSDK se déconnecte comme ceci:
[FBSession.activeSession closeAndClearTokenInformation];
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logOut];
Si vous utilisez Swift 3 ou 4:
var loginManager = LoginManager()
Collez ce code lorsqu'une action est nécessaire pour vous déconnecter
loginManager.logOut()
Dans votre postButtonClicked
écrivez ce qui suit sinon:
-(void)postButtonClicked
{
_session = [[FBSession sessionForApplication:kApiKey secret:kApiSecret delegate:self] retain];
[_session resume];
posting = YES;
showSlideShow = 1;
if (_facebookName != nil)
{
[self logoutButtonClicked];
}
if (![_session isConnected])
{
self.loginDialog = nil;
_loginDialog = [[FBLoginDialog alloc] init];
[_loginDialog show];
}
else {
self.loginDialog = nil;
_loginDialog = [[FBLoginDialog alloc] init];
[_loginDialog show];
}
}