1

我已经为我的应用设置了 Facebook iOS SDK,一切正常。我可以使用 Facebook 登录,但由于某种原因,当我尝试单击“注销”按钮(右上角,见下图)时,它什么也没做。我正在使用故事板来创建我的应用程序(登录 xib 在我现有的故事板之上打开),并且我的 AppDelegate 中的所有内容似乎都是正确的。我错过了什么?请参阅下面的代码片段。

AppDelegate.m

   - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
 self.mainViewController = [[SSViewController alloc]
                           initWithNibName:@"SSViewController" bundle:nil];
self.navController = [[UINavigationController alloc]
                      initWithRootViewController:self.mainViewController];
self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];


    if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded) {
        // Yes, so just open the session (this won't display any UX).
        [self openSession];
    } else {
        // No, display the login page.
        [self showLoginView];

    }
        return YES;

}

    - (void)showLoginView
    {
        UIViewController *topViewController = [self.navController topViewController];
        UIViewController *modalViewController = [topViewController modalViewController];

        // If the login screen is not already displayed, display it. If the login screen is
        // displayed, then getting back here means the login in progress did not successfully
        // complete. In that case, notify the login view so it can update its UI appropriately.
        if (![modalViewController isKindOfClass:[SSLoginViewController class]]) {
            SSLoginViewController* loginViewController = [[SSLoginViewController alloc]
                                                          initWithNibName:@"SSLoginViewController"
                                                          bundle:nil];
            [topViewController presentViewController:loginViewController animated:NO completion:nil];
        } else {
             SSLoginViewController* loginViewController =
            (SSLoginViewController*)modalViewController;
            [loginViewController loginFailed];
        }
    }

SSViewController.m

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


- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

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

在此处输入图像描述

4

0 回答 0