質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

635閲覧

firebaseのsignOut()で、前のユーザー情報が消えてくれない

momokoko

総合スコア38

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/02/04 03:14

編集2021/02/04 03:14

######状況:
・インスタグラムのようなアプリを作っている
・firebaseでメールとパスワードによるサインアップ、ログイン、ログアウトを実装
######起こっているエラー:
・ログアウト後、サインアップするとログアウト前のユーザー情報が表示される
・もう一度、ビルドするとサインアップしたユーザー情報が表示される

######自分が考えられるエラー原因:
・ログアウト時、キャッシュを消すことができていない

@objc func handlelogout() { do { try Auth.auth().signOut() // ログアウトして、ログインビューに遷移するコード let controller = LoginController() let nav = UINavigationController(rootViewController: controller) nav.modalPresentationStyle = .fullScreen self.present(nav, animated: true, completion: nil) print("ログアウト成功") } catch { print("DEBUG: Failed to sing out") } }

######教えて頂きたいこと
・自分の推測した原因があっている場合:
キャッシュを削除するコードを教えてほしいです。

・通常は上記コードでエラーが起こらない場合:
他の原因があるということですので、どのようなパターンで今回のエラーが起こり得るのかを教えてほしいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/02/04 03:28

アプリ側で持ってるユーザー情報をサインアウト時に消す必要があるのでは。
momokoko

2021/02/04 03:30

コメントありがとうございます。 その方法が検索しても自分ではわからなかったので教えて頂きたいです。
hoshi-takanori

2021/02/04 04:13 編集

いや、あなたが書いたアプリのコードでキャッシュしてませんか?という質問です。サインアウトのコードだけ見せられても他人には分からないので、ユーザー情報を表示するコードをご確認ください。
TsukubaDepot

2021/02/04 04:39

コメントしたつもりが消えていたので再度。 Firebaseはほとんどいじらないので外している可能性はありますが、 try Auth.auth().signOut() でサインアウトしたあと、 let controller = LoginController() let nav = UINavigationController(rootViewController: controller) nav.modalPresentationStyle = .fullScreen self.present(nav, animated: true, completion: nil) と、即座に別のログイン画面のインスタンスを作ってpresent (表示)してしまうと、永遠とログイン画面をつくってしまうことにならないでしょうか。 この辺りも含めて、適切な処理を行っていない様な気もします。
momokoko

2021/02/10 04:44

すみません、返信が遅れていました。 失礼いたしました。 いま仕事中で詳細な返信はできないのですが、Udemy上の次の講座でそのエラーを修正するものが上がっていましたので、その授業を完了し次第、またお返事させて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問