前提・実現したいこと
FirebaseのAuthenticationをswiftで使用しています。
2つのうちどちらかのボタンを選択するとそれぞれでauthViewControllerが出現する
ログインが完了したらそれぞれの遷移先にうつる、という仕様を考えています
発生している問題・エラーメッセージ
ボタンが二つありそれぞれ遷移先が違うためこんがらがってしまいました
該当のソースコード
import UIKit import Firebase import FirebaseUI import FirebaseAuth import GoogleSignIn class CentralSigninViewController: UIViewController, FUIAuthDelegate { @IBOutlet weak var authButtonP: UIButton! @IBOutlet weak var authButtonC: UIButton! var PauthUI: FUIAuth { get { return FUIAuth.defaultAuthUI()!}} var CauthUI: FUIAuth { get { return FUIAuth.defaultAuthUI()!}} let providers: [FUIAuthProvider] = [ FUIGoogleAuth(), FUIFacebookAuth(), FUIEmailAuth() ] override func viewDidLoad() { super.viewDidLoad() self.PauthUI.delegate = self self.PauthUI.providers = providers self.CauthUI.delegate = self self.CauthUI.providers = providers authButtonP.addTarget(self,action: #selector(self.authButtonPTapped(sender:)),for: .touchUpInside) authButtonC.addTarget(self,action: #selector(self.authButtonCTapped(sender:)),for: .touchUpInside) } //ボタンPを押した時の動作 @objc func authButtonPTapped(sender : AnyObject) { // FirebaseUIのViewの取得 let authViewController = self.PauthUI.authViewController() // FirebaseUIのViewの表示 self.present(authViewController, animated: true, completion: nil) } //ボタンCを押した時の操作 @objc func authButtonCTapped(sender : AnyObject) { // FirebaseUIのViewの取得 let authViewController = self.CauthUI.authViewController() // FirebaseUIのViewの表示 self.present(authViewController, animated: true, completion: nil) } //この行以降がおかしいと考えています public func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?){ // 認証に成功した場合 if error == nil { self.performSegue(withIdentifier: "CentralViewController", sender: nil) } else { //失敗した場合 print("error") } } public func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?){ // 認証に成功した場合 if error == nil { self.performSegue(withIdentifier: "PeripheralViewController", sender: nil) } else { //失敗した場合 print("error") } } }
試したこと
https://qiita.com/matsuei/items/4f56c0f8d9a1b96cd9f0
このサイトなどを参考にさせていただいています
このサイトでは認証画面から離れた時に呼ばれる関数とあるので、それをPボタンとCボタンで分けたいのですがどうすればいいかわかりません
アイデアだけでもいただければ幸いです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/04 06:55