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

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

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

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

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

解決済

1回答

1190閲覧

Firebaseでの認証における遷移画面

Superlounge1998

総合スコア15

Firebase

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

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2020/11/16 07:26

前提・実現したいこと

FirebaseのAuthenticationを利用してGoogle,Facebook,E-mailでの認証画面を作成しています
Storyboardを用いて遷移画面を作成しています
流れとしては、認証ボタンを押すと、authViewControllerを表示させ、ログインができれば次の画面に遷移する、です

発生している問題・エラーメッセージ

認証画面で出てくるCancelボタンを押す、上から下にスクロールするとログインをしなくても次の画面に到達することができてしまいます
イメージ説明

該当のソースコード

swift

1import UIKit 2import Firebase 3import FirebaseUI 4import FirebaseAuth 5import GoogleSignIn 6 7class PeripheralSigninViewController: UIViewController, FUIAuthDelegate { 8 9 @IBOutlet weak var authButton: UIButton! 10 11 var authUI: FUIAuth { get { return FUIAuth.defaultAuthUI()!}} 12 let providers: [FUIAuthProvider] = [ 13 FUIGoogleAuth(), 14 FUIFacebookAuth(), 15 FUIEmailAuth() 16 ] 17 18 override func viewDidLoad() { 19 super.viewDidLoad() 20 self.authUI.delegate = self 21 self.authUI.providers = providers 22 authButton.addTarget(self,action: #selector(self.authButtonTapped(sender:)),for: .touchUpInside) 23 24 } 25 @objc func authButtonTapped(sender : AnyObject) { 26 // FirebaseUIのViewの取得 27 let authViewController = self.authUI.authViewController() 28 // FirebaseUIのViewの表示 29 self.present(authViewController, animated: true, completion: nil) 30 } 31 32 public func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?){ 33 // 認証に成功した場合 34 if error == nil { 35 self.performSegue(withIdentifier: "PeripheralViewController", sender: nil) 36 } else { 37 //失敗した場合 38 print("error") 39 } 40 } 41}

イメージ説明

質問

seguesやSent Eventに問題があるのかソースコードに問題があるのかよくわかりません

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

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

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

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

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

guest

回答1

0

ベストアンサー

Cancelボタン押下や上から下にフリックでモーダルを閉じるのはデフォルトの仕様となります。
「次の画面に到達」ではなく「前の画面に戻る」だと思いますが、これも仕様です。

投稿2020/11/17 22:56

errolizer

総合スコア441

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

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

Superlounge1998

2020/11/18 03:56

Cancelボタン、上から下にフリックで戻る遷移先がLoginであって欲しいのですが、Chatの画面に到達してしまうのです。Cancelを押したら前の画面であるLoginに戻ることはできるでしょうか
errolizer

2020/11/18 09:02

なるほどです。こちらで動かしてみたところキャンセルボタン押下時は期待通りにLogin画面に戻ります。 普通にログイン成功しているのでは無いでしょうか? 一度ログインした記録が残っているのでは無いかと思います。ログアウトして試してみてください。
Superlounge1998

2020/11/18 10:37

認証画面を押す、普通に認証する、チャット画面に遷移。はできるのですが 認証画面を押す、出てきた認証画面を上から下にフリック、ログインせずにチャット画面に遷移。と言う方法もできてしまうんです Loginと遷移先のチャット画面はどのように繋がれましたか?
errolizer

2020/11/18 10:40

こちらでは値をウォッチしてるだけなのでチャット画面は繋いでません。 コードを拝見したところ、performSegueしてるのが1箇所だけなので、ログインが成功しているはずです。 アプリ起動時に既にログインしてるのであればLogin画面は出す必要ないのでは?普通にアプリ起動時にチャット画面に飛ばす仕様が良いと思います。
Superlounge1998

2020/11/18 11:07

ありがとうございます その線で行ってみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問