Firebase: остановка входа в службу проверки подлинности Firebase, когда кнопка «Назад» нажата на определенном экране. - PullRequest
0 голосов
/ 12 ноября 2018

Использование firebase для создания входа пользователя следующим образом,

a) Просмотр регистрации -> b) Просмотр электронной почты -> c) Просмотр userName

И есть две кнопки, а именно back и next, все это можно увидеть ниже,

ImageToSee

Проблема возникает, когда view b ранее посещал view c и после нажатия back button на view b, Firebase ложно переходит в функцию аутентификации пользователя (проверяется с использованием точек останова),

Код поддержки для back button,

(IBAction)backButtonPressed:(id)sender {

    if(page==0)
    {

        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Signup" message:@"Are you sure you want to quit signup?" preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction *ok = [UIAlertAction actionWithTitle:@"Yes" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action)
                             {
                                 [self.navigationController popViewControllerAnimated:YES];
                                 //BUTTON OK CLICK EVENT
                             }];
        UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDestructive handler:nil];
        [alert addAction:cancel];
        [alert addAction:ok];
        [self presentViewController:alert animated:YES completion:nil];
    }
else
{

    [self moveToPreviousStep];
}
    if (page==3){
        self.skipButton.hidden=YES;
    }
}

Код поддержки для next button with Firebase specific code,

[ARSLineProgress showWithPresentCompetionBlock:^{


               [[FIRAuth auth] fetchProvidersForEmail:self.signUpEmail.text completion:^(NSArray<NSString *> * _Nullable providers, NSError * _Nullable error) {

                    [ARSLineProgress hideWithCompletionBlock:^{
                   if([providers count]==0)
                   {
                       NSLog(@"email is valid for signup");
                       signingUpFromEmail = TRUE;


                        [self moveToNextStep];
                   }

Что должно произойти,

После нажатия back button в view b должно появиться окно a, не входящее в функцию аутентификации Firebase, (возможно, это ожидающий поток для firebase, который необходимо очистить, или он может обрабатываться программно)

1 Ответ

0 голосов
/ 15 ноября 2018

Оказывается, что для кнопки back было назначено два действия, т. Е. MoveNextPage и MoveBackPage в раскадровке ( ошибка новобранца, поскольку следующая кнопка была скопирована и вставлена ​​в положение кнопки возврата в раскадровке) , поэтому удаление следующего действия кнопки из раскадровки исправило проблему.

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