Facebook подключиться, войти и выйти - PullRequest
0 голосов
/ 20 ноября 2011

Я следовал этому руководству и написал следующий код в FirstViewController.m:

- (void) logoutButtonClicked {
    [facebook logout:self];
    NSLog(@"OKKKK");

}

- (void) fbDidLogout {
    // Remove saved authorization information if it exists
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"FBAccessTokenKey"]) {
        [defaults removeObjectForKey:@"FBAccessTokenKey"];
        [defaults removeObjectForKey:@"FBExpirationDateKey"];
        [defaults synchronize];
    }
}



- (void)viewDidLoad
{
    [super viewDidLoad];
    //lab1.text=@"Connecter1";

    facebook = [[Facebook alloc] initWithAppId:@"302811349736566" andDelegate:self];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"FBAccessTokenKey"] 
        && [defaults objectForKey:@"FBExpirationDateKey"]) {
        facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
        facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
    }

    if (![facebook isSessionValid]) {
         [facebook authorize:nil];
    }
    else {
        UIButton *logoutButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        logoutButton.frame = CGRectMake(40, 40, 200, 40);
        [logoutButton setTitle:@"Log Out" forState:UIControlStateNormal];
        [logoutButton addTarget:self action:@selector(logoutButtonClicked)
               forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:logoutButton];


    }


    // Do any additional setup after loading the view from its nib.

}



- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [facebook handleOpenURL:url]; 
}

- (void)fbDidLogin {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];

}

Можно ли писать код в FirstViewController, а не в AppDelegate?При подключении кнопка выхода из системы не отображается.

1 Ответ

0 голосов
/ 20 ноября 2011

Этот метод должен входить в делегат приложения, а не в ваш класс FirstViewController.

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [facebook handleOpenURL:url]; 
}

Кроме того, чтобы выйти из Facebook в вашем приложении, я считаю, что вам нужно выйти из реального приложения Facebookна вашем телефоне.В противном случае создайте собственную кнопку выхода из системы и удалите кэшированный токен Facebook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...