我有一个带Firebase后端的Swift iOS应用程序。我正在尝试在我的AppDelegate中实现逻辑,该逻辑在呈现初始视图控制器之前检索用户数据,但据我所知,获取数据的唯一方法是异步observeEventType
函数。问题是,应该在用户信息中填充大部分UI,因此在检索用户信息之前,我不希望我的AppDelegate didFinishLaunchingWithOptions
函数完成。任何人都知道如何解决我的问题?
修改
会话的想法会解决我的问题吗?这意味着,如果用户登录一次,他们的会话是永远活动的(除非他们注销),在这种情况下我可以使用同步authData
功能吗?
答案 0 :(得分:0)
你没有发布你的代码所以不清楚为什么使用didFinishLaunchingWithOptions,因为还有其他各种选择。
但是,对于一个简单的示例,使用故事板,创建一个登录视图控制器作为故事板上的入口点。然后在该视图中,控制器捕获用户登录电子邮件和密码,进行身份验证并继续通过您的应用程序。
ref.authUser(userName, password: password) { error, authData in
if error != nil {
print("No auth for you, two weeks")
} else {
print("authenticated as \(authData.uid)")
//now set up your app, populate user info etc.
// even calling back to the delegate would work.
}
}