[Swift/FirebaseAuth] 一度ログインしたらログイン画面をスキップする方法
Firebase Authentication を使ってユーザーの認証を行うアプリを作る際、一度新規登録・ログインをしたら次アプリを開くときログイン画面をスキップしてくれるコードを紹介します。
この記事ではすでに FirebaseAuth を使って新規登録・ログイン画面と処理が完成してることを前提とします。これらのやり方は Firebase Official Docが丁寧に説明してくれてるので参考にしてください!
Code
この処理は SceneDelegate.swift
で行います。
まず FirebaseAuth ライブラリをインポートします。
import FirebaseAuth
SceneDelegate クラスの中に以下のメソッドを書きます。
func skipLogin() {
//使ってるストーリーボード(何もいじってない限り ファイル名は"Main.storyboard" なので "Main" と記入。
let storyboard = UIStoryboard(name: "Main", bundle: nil)
//ログイン後に飛びたいストーリボード。Identifier は Main.storyboard で設定。
let homeViewController = storyboard.instantiateViewController(identifier: "HomeVC")
//rootViewController (初期画面)を homeViewController にする。
window?.rootViewController = homeViewController
//画面を表示。
window?.makeKeyAndVisible()
}
skipLogin()
メソッドが書き終わったらあとは次のメソッドの中に呼ぶだけです!
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
guard let _ = (scene as? UIWindowScene) else { return }
-----ここから付け足す-----
//もし一度ログインしたユーザーだったら skipLogin() を呼ぶ。
if Auth.auth().currentUser != nil {
skipLogin()
}
//rootController がデフォルトで新規登録・ログイン画面についていれば else文はいらない。
}
これで、一度ログインしたら次からログイン画面をスキップできるようになります!
Author And Source
この問題について([Swift/FirebaseAuth] 一度ログインしたらログイン画面をスキップする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/harooks/items/f68e495b38dc545aa3f4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .