1

我已经在 LoginViewController 中集成了 Fbconnect。我想从另一个视图控制器中注销会话。我该怎么做?

我试过这个..

LoginViewController *obj1 = [[LoginViewController alloc] init];     
[obj1._session logout];
[obj1._session.delegates removeObject: self];

它删除了会话..但是当我转到 LoginViewController 时,按钮显示注销。但是当我退出应用程序并运行它时,图像会更新。

在 LoginViewController 我有

@interface LoginViewController : UIViewController  <FBDialogDelegate, FBSessionDelegate, FBRequestDelegate>{

    IBOutlet UITextField *txtUsername;
    IBOutlet UITextField *txtPassword;
    IBOutlet UILabel *lblMessage;
    IBOutlet FBLoginButton* _loginButton;
    FBSession* _session;

}

@property (nonatomic, retain) FBSession *_session;

并且正在合成它@synthesize _session;

....我还需要做什么?

有人请帮助我..我对 Iphone 应用程序和目标 c 非常陌生

4

2 回答 2

1

我得到了答案..我的朋友帮助了我..我想分享它...

简单地

导入“FBConnect.h”

在你的第二个视图控制器中

然后 .......

FBSession *session = [FBSession 会话]; [会话注销];

它工作正常

于 2010-01-05T14:19:47.397 回答
0

-(void)clickfb:(id)sender {

NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie* cookie in
     [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
    [cookies deleteCookie:cookie];
}

 [self showLoggedOut:YES];

}

  • (void) showLoggedOut:(BOOL)clearInfo { //[self.navigationController setNavigationBarHidden:YES Animation:NO]; // // 删除保存的授权信息,如果存在并且可以清除它 // // 可以清除(注销、会话无效、应用未授权) NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; if (clearInfo && [defaults objectForKey:@"FBAccessTokenKey"]) { [defaults removeObjectForKey:@"FBAccessTokenKey"]; [默认 removeObjectForKey:@"FBExpirationDateKey"]; [默认同步];// // // 清除会话变量以防止 // // 应用认为存在有效会话 AppDelegate *delegate = (AppDelegate *) [[UIApplication sharedApplication] delegate]; 如果(无!= [[代表 facebook] accessToken]) { [代表 facebook].accessToken = nil; } if (nil != [[delegate facebook] expirationDate]) { [delegate facebook].expirationDate = nil; } }

}

于 2013-07-30T20:56:08.710 回答