LoginSignup
1
4

More than 5 years have passed since last update.

Firebase Authenticationを使用して出来るだけソースを書かずにログインを実装する

Last updated at Posted at 2018-12-11

初めに

既にありそうな記事ですが、忘れない様に記事にしておきます。
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) {
            //成功時の処理記述
        }
    }
}

これで初期登録・ログインが行えます。

最後に

文字ばっかで分かりづらくてすみません・・・。
今度からスクショを適時追加しようと思います。

また、今時メールアドレスとパスワードでログインっていうのもあれですし
あったとしても端末の生体認証使えばログイン出来るっていうのがデファクトスタンダードだと思います。
なので、実際使うときはこの画面は使わないのかなと思いつつ
実はこういう画面を用意されているよというメモでした。

参考

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4