Я внедрил кнопку входа в систему Facebook, которая отлично работает. Однако после того, как пользователь успешно войдет в Facebook и вернется в приложение, [FBSDKAccessToken currentAccessToken]
возвращает NO
. Я добавил наблюдателя, чтобы проверить, работает ли код, который я хочу, после возврата обратно в приложение:
-(void)viewDidLoad
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn)name :UIApplicationWillEnterForegroundNotification object:nil];
}
-(void)checkLogIn
{
NSLog(@"IN CHECK LOG IN");
if ([FBSDKAccessToken currentAccessToken]) {
NSLog(@"Access Token Activated");
}
}
И после входа в систему, когда я вернусь в приложение, вызывается метод checkLogIn
, но [FBSDKAccessToken currentAccessToken]
все еще возвращает NO
.
Тем не менее, он меняет значение "ДА" после того, как я нажимаю кнопку "домой" на iPhone и возвращаюсь в приложение.
Как его можно немедленно обновить, поэтому я могу показать пользователю другой контроллер представления?
UPDATE:
Я узнал, как выполнить правильный код после возвращения в приложение. Ключ состоит в том, чтобы использовать FBSDKAccessTokenDidChangeNotification
- Центр уведомлений. Таким образом, конечный результат будет таким:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn) name: FBSDKAccessTokenDidChangeNotification object:nil];
Этот токен будет обновлен, и он будет работать.