2016-12-22 4 views
1

Ich versuche, das Beispiel der Google Firebase-Authentifizierung mit E-Mail auszuführen. Als ich das E-Mail-Beispiel von https://github.com/firebase/quickstart-ios/blob/master/authentication/AuthenticationExampleSwift/EmailViewController.swift versuchte, erhalte ich Fehler im Projekt.Swift - Google Firebase Authentifizierung mit E-Mail

Mein Code sieht wie folgt aus:

@IBAction func loginButtonTapped(_ sender: AnyObject) { 
    if let email = self.userEmailTextField.text, let password = self.userPasswordTextField.text { 
     showSpinner({ 
      // [START headless_email_auth] 
      FIRAuth.auth()?.signIn(withEmail: email, password: password) { (user, error) in 
       // [START_EXCLUDE] 
       self.hideSpinner({ 
        if let error = error { 
         self.showMessagePrompt(error.localizedDescription) 
         return 
        } 
        self.navigationController!.popViewController(animated: true) 
       }) 
       // [END_EXCLUDE] 
      } 
      // [END headless_email_auth] 
     }) 
    } else { 
     self.showMessagePrompt("email/password can't be empty") 
    } 
} 

ich einen Fehler auf showSpinner({...}) und ganz am Ende auf self.showMessagePrompt("email/password can't be empty"):

enter image description here

jedoch der Fehler aus dem sehr Ende showMessagePrompt tut nicht auf self.showMessagePrompt vor ein paar Zeilen erscheinen. Vielleicht hat es mit meiner Swift-Version zu tun, ich habe versucht, auf 3 zu konvertieren, aber mein komplettes Projekt wurde danach abgebrochen.

Antwort

1

Da in diesem Quickstart-ios, sie Bridging-Header von UIViewController+Alerts.h Datei verwenden, die nicht von Ihnen implementiert und nicht von Ihnen in Ihrem Projekt hinzugefügt.

So eine Lösung ist UIViewController+Alerts.h zu verwenden, wie Header in Ihren View-Controller überbrücken oder entfernen/Ihren Code so etwas wie dieser Code ändern ..

@IBAction func loginButtonTapped(_ sender: AnyObject) { 
    if let email = self.userEmailTextField.text, let password = self.userPasswordTextField.text { 
     // [START headless_email_auth] 
     FIRAuth.auth()?.signIn(withEmail: email, password: password) { (user, error) in 
      // [START_EXCLUDE] 

      if let error = error { 
       print(error.localizedDescription) 
       //show alert 
       return 
      } 
      self.navigationController!.popViewController(animated: true) 

      // [END_EXCLUDE] 
     } 
     // [END headless_email_auth] 
    } else { 
     print("email/password can't be empty") 
     //show alert 
    } 
} 

Sie finden UIViewController+Alerts.h und UIViewController+Alerts.m Dateien here

+0

Ich sehe Das Problem, aber ich sehe keine Header in der Beispieldatei enthalten. Also, wo muss ich sie aufnehmen? – csnewb

+0

ist in Beispiel enthalten auch https://github.com/firebase/quickstart-ios/tree/master/authentication/AuthenticationExampleSwift in dieser Datei überprüfen Sie https://github.com/firebase/quickstart-ios/blob/master/authentication /AuthenticationExampleSwift/BridgingHeader.h –

+0

@csnewb Sie können den obigen Code auch verwenden .. es wird funktionieren .. –

Verwandte Themen