2016-11-24 5 views
2

У меня есть один экран входа, в котором есть адрес электронной почты, пароль. И на экране регистрации после регистрации пользователя они придут на экран входа в систему для входа в систему.Как проверить, является ли пользователь новым пользователем или старым пользователем

В этот раз мне нужно проверить, является ли пользователь первым пользователем или старым пользователем. Если первый пользователь времени означает, что мне нужно перенаправить их на экран обратной связи. Или старый пользователь означает, что мне нужно перенаправить их на главный экран. Как это сделать с помощью firebase?

Her мой код для экрана входа в систему:

@IBAction func loginWithUserNamePassword(){ 


    loginWithMailAndPassword((username.text?.trimWhiteSpace)!, password: (password.text?.trimWhiteSpace)!) { (user, error) in 

     if error != nil{ 

      KRProgressHUD.dismiss() 
      SCLAlertView().showError("Login Error", subTitle: error!.localizedDescription) 


     } 
     else { 
      KRProgressHUD.dismiss() 
      if user!.emailVerified{ 
       currentUser = user 
       enableSync() 
       self.callHomescreen() 
      } 
      else 
      { 
       AlertView().showError("Login Error", subTitle: "This email is has not been verified yet") 
      } 
     } 

     } 

    } 

Или в моей подачи назад на экране есть несколько текстовых полей. А класс модели:

var feedbackData = [files]() 

class files { 
// having some string variables 
} 

Используя это, если мои данные пусто в моем экране обратной перенаправлять пользователя на экран обратной связи или же перенаправлять их на домашнем экране. Можем ли мы это сделать?

Обновлено:

if profileData.FirstName.characters.count <= 0 { 


      print("Home screen calling") 

     } 

     else if profileData.FirstName.characters.count > 0 { 
      print("feedback screen calling") 

     } 

Мысль пытается как это. Но бесполезно.

ответ

0

Если я правильно понимаю ваш вопрос, как только пользователь зарегистрировался, вы хотите проверить дату создания учетной записи использования. Для этого у вас есть два варианта:

  1. Серверная сторона. Если вы используете базу данных Firebase, просто добавьте дату создания. Firebase documantation не предлагает способ получения даты создания на стороне приложения.

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

Например: Ваш пользователь просто вошли в систему, вы хотите проверить, если это в первый раз, что он сделал:

if let displayName = FIRAuth.auth()?.currentUser?.displayName { 
    //Make sure we have the user 
    if UserDefaults.standard.bool(forKey: displayName) { 
     // try to get the user default for the spacific key 
     let wasConnected = UserDefaults.standard.bool(forKey: displayName) 
     if wasConnected { 
      print("This user was connected") 
     } 
    } else { 
     // This user was never connected 
     // We set the default to his ID 
     UserDefaults.standard.set(true, forKey: displayName) 
     UserDefaults.standard.synchronize() 
    } 
} 

Чтобы использовать дату, я думаю, что самый простой способ до convert the date to string.

Скачайте код, чтобы сделать именно то, что вы хотите.

+0

Должно быть, у вас есть пример для второго выбора. Я новичок в ios.Only я передаю адрес электронной почты, пароль. Но я не знаю, как получить дату, созданную во время регистрации – mack

+0

А также, если я зарегистрировался сегодня, и что произойдет, если я запишусь через 10 дней. Как я могу это сделать с данными? – mack

+0

скажите, пожалуйста, в моем сообщении я проверил с подсчетом данных профиля, если он пуст. Но каким-то образом, он терпит неудачу – mack

Смежные вопросы

 Смежные вопросы