Swift TwitterKit登录WebView在iOS 13中未解除

Swift TwitterKit登录WebView在iOS 13中未解除,swift,ios13,twitterkit,Swift,Ios13,Twitterkit,我正在尝试在我正在使用TwitterKit开发的新应用程序中实现Twitter登录。在iOS 11和iOS 12上一切正常,但iOS 13似乎有问题 这是我在LoginViewController中的代码 override func viewDidLoad() { super.viewDidLoad() let logInButton = TWTRLogInButton(logInCompletion: { session, error in if sessio

我正在尝试在我正在使用TwitterKit开发的新应用程序中实现Twitter登录。在iOS 11和iOS 12上一切正常,但iOS 13似乎有问题

这是我在LoginViewController中的代码

override func viewDidLoad() {
    super.viewDidLoad()

    let logInButton = TWTRLogInButton(logInCompletion: { session, error in
        if session != nil {
            UserDefaults.standard.set(session?.userID, forKey: "userId")
            UserDefaults.standard.set(session?.userName, forKey: "userName")
            UserDefaults.standard.set(true, forKey: "isLoggedIn")

            print("***** complete with login")
            self.performSegue(withIdentifier: "toHome", sender: self)

        } else {
            print("TWTRButton Error:")
            print(error.debugDescription)
        }
    })
    logInButton.center = self.view.center
    self.view.addSubview(logInButton)
}
登录后,登录的webview应该会关闭,但它只是在当前屏幕上旋转,不会关闭。事实上,loginCompletion it's self从不启动,因为两个print语句都不会启动


我认为这与模态演示有关。无论如何,围绕这个问题?

所以问题在于对Xcode 11本身的更改。我使用了TwitterKit的维护版本TwitterKit5,并在GitHub上发布了一个问题

维护人员指出,新的Xcode创建了一个新的SceneDelegate文件,该文件会阻止

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
将此添加到SceneDelegate.swift:

func scene(_ scene: UIScene,
           openURLContexts URLContexts: Set<UIOpenURLContext>) {
    if let context = URLContexts.first {
        TWTRTwitter.sharedInstance().application(UIApplication.shared, open: context.url, options: [UIApplication.OpenURLOptionsKey.sourceApplication: context.options.sourceApplication as Any])
    }
}
func场景(u场景:UIScene,
openURLContexts(URL上下文:设置){
如果let context=URLContexts.first{
TWTRTwitter.sharedInstance().application(UIApplication.shared,打开:context.url,选项:[UIApplication.OpenURLOptionsKey.sourceApplication:context.options.sourceApplication,如有])
}
}
在那之后工作得很好