初めに
既にありそうな記事ですが、忘れない様に記事にしておきます。
Swift4・Firebase Authenticationでメールアドレス/パスワードによるログインを実装します。
多分、これが一番楽だと思います()
プロジェクト作成
プロジェクト作成します。
今回は、Single View Appで作成(今回はFirebaseLoginSampleというプロダクト名)
Firebase側のプロジェクト作成
https://console.firebase.google.com/
プロジェクトを追加
プロジェクト名は、さっきのプロダクトネームを今回は入力しました。
チェックボックスは全部外していいと思います。
(必要あれば入れてください)
その後、左メニューからAuthenticationを選択。
ログイン方法をクリック
今回はメール/パスワードにするので、それを有効にする。
Firebaseのライブラリを導入する
プロジェクトオーバービューを選択すると、開始するにはアプリを追加してくださいと表示しているところがあるので
そのラベル上にあるiOSを選択
Bundle IndentifierをiOS バンドルIDに入力
その後は手順通りで進めてください。
以下、注意点。
plistファイルの位置はinfo.plistと同じ位置に
PodfileはAuthenticationに使うライブラリも一緒に記載しておく。
pod 'Firebase/Core'
pod 'FirebaseUI/Auth'
疎通確認がうまく行かない時は、何回かビルドして放置していると動きます。
または、アナリティクス収集を無効にしているとうまく動かないかもしれません。
ログイン部分をソースで
ViewController.swiftを以下の様に修正
import FirebaseUI
import UIKit
class ViewController: UIViewController,FUIAuthDelegate {
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
let authUI = FUIAuth.defaultAuthUI()
authUI?.delegate = self
let authViewController = authUI?.authViewController()
self.present(authViewController!,animated: true, completion: nil)
}
}
func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) {
if(error == nil) {
//成功時の処理記述
}
}
}
これで初期登録・ログインが行えます。
最後に
文字ばっかで分かりづらくてすみません・・・。
今度からスクショを適時追加しようと思います。
また、今時メールアドレスとパスワードでログインっていうのもあれですし
あったとしても端末の生体認証使えばログイン出来るっていうのがデファクトスタンダードだと思います。
なので、実際使うときはこの画面は使わないのかなと思いつつ
実はこういう画面を用意されているよというメモでした。