Advertisement
Guest User

Untitled

a guest
Jun 17th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. //
  2. // ViewController.swift
  3. // YogiDoListFB
  4. //
  5. // Created by Daniel Williams on 6/16/16.
  6. // Copyright © 2016 Dandom, LLC. All rights reserved.
  7. //
  8.  
  9. import UIKit
  10. import FirebaseAuth
  11.  
  12. enum SignInError: ErrorType {
  13. case UserNotFound
  14. case InvalidPassword
  15. case OtherError(code: Int)
  16. }
  17.  
  18. class SignInViewController: UIViewController {
  19.  
  20.  
  21. @IBOutlet weak var usernameTextField: UITextField!
  22. @IBOutlet weak var passwordTextField: UITextField!
  23. @IBOutlet weak var statusLabel: UILabel!
  24. @IBOutlet weak var loginButton: UIButton!
  25.  
  26. override func viewDidLoad() {
  27. super.viewDidLoad()
  28.  
  29. }
  30.  
  31. @IBAction func loginButtonPressed(sender: UIButton) {
  32. guard let username = usernameTextField.text where !username.isEmpty else { return }
  33. guard let password = passwordTextField.text where !password.isEmpty else { return }
  34.  
  35. signUserIn(username, password: password)
  36.  
  37. }
  38.  
  39. func signUserIn(username: String, password: String) {
  40. FIRAuth.auth()?.signInWithEmail(username, password: password, completion: { (user, error) in
  41. guard error == nil else {
  42. self.handleError(error!) // how to handle this error case without passing an individual SignInError.XXXX
  43. return
  44. }
  45.  
  46. user?.getTokenWithCompletion({ (token, error) in
  47. guard error == nil else { self.handleError(SignInError.OtherError(code: error!.code)); return }
  48. print(token)
  49. })
  50. })
  51. }
  52.  
  53. func handleError(error: ErrorType) {
  54. switch error {
  55. case SignInError.InvalidPassword:
  56. print("invalid password.")
  57. case SignInError.UserNotFound:
  58. print("user not found!")
  59. case SignInError.OtherError(let code):
  60. print("some other error: \(code)")
  61. default:
  62. print("how'd we get here?")
  63. }
  64. }
  65.  
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement