ばろぐ・ほいダウン

2010年Nゲージにより鉄道事業を開始。2011年Gゲージに参入することで事業拡大。常に夢と目標と野望を持ち活動していく。

MENU

アプリを閉じてもFirebaseでログインしたままにする(iOS13対応)

先日『ご注文はうさぎですか?』のDJイベントに行ったらはしゃぎすぎて体もペンライトもぶっ壊しました。
何をやっているのでしょう。
ペンライトなんて初めて使ったやつなのに。

どうも、年が明けてから何かとドタバタしている筆者です。


さて、FirebaseにはFirebase Authenticationという会員登録のシステムが簡単にできるとっても便利なサービスがあります。
登録画面の作り方などはすっ飛ばしますが、Firebaseとの連携を済ませ基本的なコードを加えたままではアプリを再起動させる度にログインが求められます。

LINEやTwitterなどのSNSを利用していてもわかるように、いちいちログインの手順を踏まなくてはいけないアプリは無いですよね。
そこで、今回は1度ログインすればアプリが再起動してもメインの画面にすぐにアクセスできるようにしたいと思います。

動作環境

Xcode Version 11.3
macOS Mojave 10.14.6

AppDelegate.swiftとSceneDelegate.swiftに手を加える

Firebaseでのログイン維持



どちらにも以下のコードが含まれています

if let _ = Auth.auth().currentUser {
            // ログイン中
            let storyboard:UIStoryboard =  UIStoryboard(name: "Main",bundle:nil)
            window?.rootViewController
                = storyboard.instantiateViewController(withIdentifier: "mainView")
        }

ここでもしユーザーがログインしていたら、Storyboard IDがmainViewの画面を開くという処理を行っています。


メインにしたい画面に

このように忘れずに設定しましょう。
忘れるとアプリが落ちます。



余談

@available(iOS 13.0, *)

を適した場所に加えることでiOS13より前のバージョンもサポートすることができます。




終わりに

自分用のメモも兼ねているのでザッと書きました。