45

アプリに Facebook ログインを統合したため、ユーザーはアプリ アカウントと Facebook の両方でログインして、対応するアクションを実行できます。Facebook 統合のために、Facebook SDK を追加しました。アプリで [ログアウト] ボタンをクリックすると、すべてのFacebook Account.I have going for の認証情報:

-(IBAction)btnlogOutClicked:(id)sender
{
  [appDelegate fbDidlogout]; 
}
-(void)fbDidlogout
{
    FBSession* session = [FBSession activeSession];
    [session closeAndClearTokenInformation];
    [session close];
    [FBSession setActiveSession:nil];


}

しかし、もう一度ボタンをクリックすると、Facebook のログイン ページに移動せずに、自分のアカウントに直接リダイレクトされます。

Facebookからログアウトするにはどうすればよいですか。

4

5 に答える 5

85

新しい Facebook SDK ログイン キットを使用するには、次の行に書き込むだけです。

[[FBSDKLoginManager new] logOut];

Swiftを使用している場合は、必要なインポートがあることを確認してください

import FBSDKLoginKit

func logout() {
    FBSDKLoginManager().logOut()
}
于 2015-05-19T13:57:24.207 に答える
20

ログアウトするには、これを試してください

viewDidLoadメソッドでナビゲーション コントローラー(右上隅) にログアウト ボタンを追加できます。

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
                                    initWithTitle:@"Logout"
                                    style:UIBarButtonItemStyleBordered
                                    target:self
                                    action:@selector(logoutButtonWasPressed:)];

上記の追加ボタンのアクションメソッドは

-(void)logoutButtonWasPressed:(id)sender {
    [FBSession.activeSession closeAndClearTokenInformation];
}

これがあなたを助けることを願っています!

参照

編集:

ユーザー名とパスワードを要求しない理由を尋ねたように、理由は次のとおりです。

アプリに Facebook SDK を統合してログインしようとすると、2 つの場所が自動的にチェックされます (Facebook に既にログインしているかどうかを確認するため)。

  1. まず、このデバイスにインストールされている Facebook ネイティブ アプリに既にログインしているかどうかを確認します。

  2. 次に、FaceBook のユーザー名とパスワードがデバイス設定に保存されているかどうかを確認します。

両方の場所でログインしていない場合、アプリケーションで UserName と Password を尋ねられます

以下のスクリーン ショットに示すように、[デバイス設定] で Facebook アカウントの設定を確認できます。

ホームボタンを押します --> 設定 --> Facebook

ここに画像の説明を入力

于 2013-03-25T10:54:42.257 に答える
9

FBSDK は次のようにログアウトを行っています。

  [FBSession.activeSession closeAndClearTokenInformation];
  FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
  [login logOut];
于 2015-04-29T09:43:17.027 に答える
0

postButtonClickedif else に続くあなたの書き込みで:

-(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];
    }
}
于 2013-03-25T08:23:40.127 に答える