2016-11-24 2 views
2

Ich habe einen Login-Bildschirm, die E-Mail, Passwort haben. Und im Registrierungsbildschirm nach der Benutzerregistrierung werden sie zum Anmeldebildschirm kommen, um sich einzuloggen.Wie überprüft man, ob der Benutzer neuer Benutzer oder alter Benutzer ist

Diese Zeit muss ich überprüfen, ob der Benutzer erstmaliger Benutzer oder alter Benutzer ist. Wenn Erstbenutzer bedeutet, dass ich sie zu meinem Feedback-Bildschirm umleiten muss. Oder alter Benutzer bedeutet, dass ich sie auf meinen Startbildschirm umleiten muss. Wie macht man das mit Firebase?

Ihr meinen Code für den Login-Bildschirm:

@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") 
      } 
     } 

     } 

    } 

Oder in meinem Feed Bildschirm zurück gibt es einige Textfelder. Und die Modellklasse ist:

var feedbackData = [files]() 

class files { 
// having some string variables 
} 

Durch diese verwenden, wenn meine Daten in mein Feedback Bildschirm leiten den Benutzer auf das Feedback-Bildschirm leer ist oder sonst umleiten sie zu Home-Bildschirm. Können wir das tun?

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


      print("Home screen calling") 

     } 

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

     } 

Gedanken zu versuchen, wie folgt aus:

aktualisiert. Aber keine Verwendung.

Antwort

0

Wenn ich Ihre Frage richtig verstehe, nachdem der Benutzer angemeldet ist, möchten Sie das Erstellungsdatum des Benutzerkontos überprüfen. Dazu haben Sie zwei Möglichkeiten:

  1. Die Serverseite. Wenn Sie die Firebase-Datenbank verwenden, fügen Sie einfach das Erstellungsdatum hinzu. Firebase documantation bietet keine Methode, um das Erstellungsdatum auf der App-Seite abzurufen.

  2. Die App-Seite. Benutzer Benutzer Standardeinstellungen, wenn der Benutzer beim ersten Mal das Datum für diesen Benutzer festlegen. Wenn Sie wieder auf dem Anmeldebildschirm sind, prüfen Sie, ob es existiert. Ich würde empfehlen, die Benutzer-ID als Schlüssel zu verwenden.

Zum Beispiel: Ihre angemeldeten Benutzer gerade in, Sie, wenn es das erste Mal überprüfen, ob er es tat:

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() 
    } 
} 

das Datum zu verwenden, ich glaube, der einfachste Weg ist, zu convert the date to string.

Geige mit dem Code, um genau das zu tun, was Sie wollen.

+0

du hast ein Beispiel für die zweite Wahl. Ich bin neu bei ios.Nur ich übermittle die E-Mail-Adresse, Passwort. Aber ich weiß nicht, wie man das Datum beim Registrieren – mack

+0

erstellt und auch wenn ich heute registriert, und was passiert, wenn ich nach 10 Tagen anmelden. Wie kann ich mit den Daten umgehen? – mack

+0

Bitte sagen Sie mir, in meinem Post habe ich mit der Profildatenzählung überprüft, ob es leer ist. Aber wie auch immer, es scheitert – mack

Verwandte Themen