显示预构建的 FirebaseUI 身份验证页面

Present Pre-built FirebaseUI Authentication page

我正在为我的 swift 项目使用预构建的 Firebase UI 身份验证。目标是在用户单击 "user profile" 按钮时显示身份验证页面。否则,用户无需注册或登录。

我已经初始化了一个导航控制器。所以我最初的想法是简单地将 Auth 控制器推送到我的 navigationController。

self.navigationController?.pushViewController(authUI.authViewController(), animated: true)

失败,错误是不允许嵌套导航控制器,因为 authViewController() 将 return AuthUI 的初始导航视图控制器的实例。

我的第二个想法是简单地调用 Window 并将 rootViewController 设置为 authViewController。然后只需使用 authViewController 作为新的导航控制器

window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = authUI.authViewController()()

不幸的是,它失败了。除了黑屏什么也没有显示。

我认为唯一的方法是调用

self.present(authUI.authViewController(), animated: true, completion: nil)

但是,屏幕会单独显示,这不是我想要的(见下文)

非常感谢任何thoughts/ideas/建议。

希望对您有所帮助

let authVC = authUI.authViewController()
authVC.modalPresentationStyle = .fullScreen
self.present(authVC, animated: true, completion: nil)

谢谢。