

[teratail](http://teratail.com/questions/225081)でも質問した内容ですが、こちらでも質問させて頂きます。

**【実現したいこと】**  
Swifterを使用して、Twitterでのログイン機能を実装しています。  
認証完了後、次のViewへ遷移させたいのですが、どのようにやれば良いのか分からないでいます。  
ご教示頂けませんでしょうか。

**【エラー内容】**  
下記コードで画面遷移をさせたいです。  
現在のコードですと、下記画面で認証完了した後に、元の画面に戻ってしまいます。

[code]

    self.performSegue(withIdentifier: "gotoMain", sender: self)
    
[/code]

[![Twitter認証画面](https://i.stack.imgur.com/EXsfs.png)](https://i.stack.imgur.com/EXsfs.png)

**【該当コード】**

[code]

    import UIKit
    import Firebase
    import Swifter
    import SafariServices
    
    class LoginViewController: UIViewController, SFSafariViewControllerDelegate {
    
        @IBOutlet weak var emailTextField: UITextField!
        @IBOutlet weak var passwordTextField: UITextField!
    
        override func viewDidLoad() {
            super.viewDidLoad()
        }
    
        @IBAction func twitterLoginButton(_ sender: UIButton) {
            let swifter = Swifter(consumerKey: "consumerKeyを記載",consumerSecret: "consumerSecretを記載")
            swifter.authorize(withCallback: URL(string: "コールバックURL")!, presentingFrom: self,
                              success: {accessToken, response in
    
                                guard let accessToken = accessToken else {
                                    return
                                }
                                self.performSegue(withIdentifier: "gotoMain", sender: self)
                                let oAuthToken = accessToken.key
                                let secret = accessToken.secret
                                let credential = TwitterAuthProvider.credential(withToken: oAuthToken, secret: secret)
                                Auth.auth().signIn(with: credential, completion: { (authResult, error) in   
                                })
            }, failure: { error in print(error)
            })
        }
    }
    
[/code]

**【参考記事】**  
[【iOS】TwitterKitじゃなくて「Swifter」でTwitterログインする  
](https://qiita.com/k-boy/items/c83a0505d12cc8e7d4b9#firebase%E3%81%A7%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%99%E3%82%8B)


CC BY-SA 4.0
2019-11-26T08:18:29.527
60854
2021-02-01T00:36:12.753
2019-11-26T09:07:55.150
32986
36794
question
swift ios firebase
Swifterでの認証完了後の画面遷移方法（Twitter,Firestore)


xcode11からSceneDelegate.swiftが追加され、これまでAppDelegateに記述されていたコードの多くが、SceneDelegateに移行されました。

その結果、appで他のurlを開いた場合に実行される関数も、AppDelegateからSceneDelegateに移行されています。

以下の記事を参考に、再度コードを見直してみることは、問題解決の助けになるかもしれません。

[【iOS13】swifterを用いた際のcallback URLのSceneDelegateへの記述 -
Qiita](https://qiita.com/ninoko1995/items/05de90350a4bbc12d971)


CC BY-SA 4.0
2021-01-31T16:22:30.627
73725
2021-02-01T00:36:12.753
2021-02-01T00:36:12.753
3060
36905
60854
answer