Facebook вход в iOS не открывает сафари при попытке входа в первый раз

Экран входа в мое приложение,

С первой попытки кнопка входа в Facebook не открывает браузер Safari, а со второй попытки работает нормально.

Ниже мой проверенный код:

FBSDKLoginManager *manager = [FBSDKLoginManager new];
manager.loginBehavior = FBSDKLoginBehaviorBrowser;
NSArray *permissions = @[@"email",@"public_profile"];
[manager logInWithReadPermissions:permissions fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error){

    if(error) {
        [self showAlertWith:@"Oops!" message:@"Login Failed, try again" handler:nil];
        return;
    }
    if(result.isCancelled) {
        [self showAlertWith:@"Oops!" message:@"Login Failed, try again" handler:nil];
        return;
    }else {
        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me"
                                           parameters:@{@"fields": @"picture, name, email"}]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id userinfo, NSError *error) {
             if(!error) {
                 if([FBSDKAccessToken currentAccessToken]) {
                     [self makeGraphRequest];
                 }
             }else {
                 EKLog(@"error %@", error);
             }
         }];
    }
}];

Нажав кнопку входа в первый раз loginWithReadPermission вызывается, но блок обратного вызова никогда не вызывается, тогда как при повторном нажатии вызывается обработчик обратного вызова. Любая помощь будет оценена спасибо.

1 ответ

Решение

Вы можете попробовать одно решение, если оно работает!

объявлять FBSDKLoginManager *manager в качестве переменной экземпляра или свойства и инициализировать его в viewDidload лайк,

 FBSDKLoginManager *manager = [FBSDKLoginManager new];

А потом пользуйся!! Это может произойти из-за местной декларации!

Другие вопросы по тегам