【发布时间】:2020-01-19 00:18:48
【问题描述】:
如果 user = nil,我只想进入登录屏幕。否则它会转到应用程序的主/主页部分,该部分由标签栏控制器的第一个视图控制器组成
这是我的应用委托:
import UIKit
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FirebaseApp.configure()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
if Auth.auth().currentUser == nil && !UserDefaults.standard.bool(forKey: "hasViewedWalkthrough") {
let initialViewController = storyboard.instantiateViewController(withIdentifier: "WalkthroughViewController") as? WalkthroughViewController
self.window?.rootViewController = initialViewController
} else if Auth.auth().currentUser == nil && UserDefaults.standard.bool(forKey: "hasViewedWalkthrough") {
let initialViewController = storyboard.instantiateViewController(withIdentifier: "loginViewController") as? LoginViewController
self.window?.rootViewController = initialViewController
} else {
let initialViewController = storyboard.instantiateViewController(withIdentifier: "homeTabBarController") as? MainTabBarViewController
self.window?.rootViewController = initialViewController
}
self.window?.makeKeyAndVisible()
return true
}
我无法进入入职或登录屏幕。我总是被引导到主屏幕。如果我在情节提要中手动将它们设置为初始视图控制器,我知道屏幕呈现良好。
我尝试了许多解决方案,但没有一个有效。
【问题讨论】:
-
您能否向我们展示您的项目目标页面,在项目层次结构中单击您的项目名称,然后在“目标”下再次单击您的项目名称
-
它是否在“常规”部分(顶部的水平菜单)下?那里没看到
-
是的,只需发送该页面的屏幕截图]
-
已将其添加到主要原始帖子中。
-
我建议做的是制作一个全新的故事板并使其成为初始视图控制器,在其上添加您的应用程序徽标或其他内容,并使其成为 Splashscreen 之类的东西。将 AppDeleage 文件中的 firebase 逻辑添加到新的视图控制器中,如果登录视图控制器未登录,则对登录视图控制器执行
performseuge(),如果登录,则对应用程序的主页部分执行performseuge()。这样,您的用户就会对您的应用程序加载有一些视觉反馈。如果您需要任何方面的帮助,我可以为您提供答案以帮助您解决这个问题?
标签: swift firebase firebase-authentication