iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
自我挑戰組

來寫看看app好了! Swift探索之旅系列 第 15

Day#15 Firebase Auth

前言

好的,那就來看看firebase到底是什麼吧。

Firebase

我們這次會用到firebase auth的註冊、登入功能;firebase real time database的資料庫服務;以及firebase storage的雲端硬碟。

Cocoapods

那麼我們先來新增引用的函式庫。

在Podfile新增以下的指令,然後下載。

pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'Firebase/Analytics'

LoginViewController

首先將auth函式庫引進來

import FirebaseAuth

然後將昨天留下登入的部分補上邏輯

FirebaseAuth.Auth.auth().signIn(withEmail: email, password: password, completion: { authResult, error in
    guard let result = authResult, error == nil else {
        print("failed to login with email: \(email)")
        return
    }

    let user = result.user
    print("logged in user: \(user)")
})

firebase提供的登入服務非常方便,可以直接呼叫signIn方法。
其中我們選用提供withEmail參數的方法。

使用guard確保登入成功,在此我們先印出成功登入的訊息,先不處理跳轉等的東西。

RegisterViewController

同樣的,我們也在註冊這邊加上firebase auth的服務邏輯。

FirebaseAuth.Auth.auth().createUser(withEmail: email, password: password, completion: { authResult, error in
    guard let result = authResult, error == nil else {
        print("error creating user")
        return
    }

    let user = result.user
    print("Create user: \(user)")
})

AppDelegate

別忘了在appDelegate加上firebase auth的configuration。
如下第9行,如此一來,就大功告成了!

appDelegate.swift

import UIKit
import Firebase

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        
        FirebaseApp.configure()
        return true
    }
}

結語

今天寫的比較簡短,且都是著墨在程式上,解釋得較少(其實就是因為存稿用完了,開始每天趕稿的日子、嗚嗚嗚)
不過寫的短好過缺少文章麻~未來還是會繼續努力產出的~

參考資料

若上述內容有誤或可以改進的部分,歡迎留言以及提出任何指教~
謝謝 (´・∀・`)


上一篇
Day#14 註冊與按鈕
下一篇
Day#16 Database manager
系列文
來寫看看app好了! Swift探索之旅30

尚未有邦友留言

立即登入留言