这是用户浏览我的应用程序的方式:
但是很简单,问题是,如果应用程序崩溃(无论出于何种原因)或在输入用户名时关闭,则从技术上讲,它们仍已登录到我的Firestore。
这是一个问题,因为我对应用程序进行了编程,以便当用户重新打开应用程序时,他们立即进入主屏幕(我创建了一个应用程序管理器来处理此问题)。如果他们在输入用户名之前关闭了该应用程序(或者它崩溃了),则可以不使用用户名直接进入主屏幕。
我在applicationWillTerminate方法中进行了几次尝试,以跟踪用户所在的视图控制器,然后注销,以便当用户再次打开应用程序时,我的应用程序管理器会说Auth.auth()。currentUser == nil,然后转到初始视图控制器以再次开始注册过程。
var viewController : UIViewController?
var vc = UsernameViewController()
if viewController == vc {
let firebaseAuth = Auth.auth()
do {
try firebaseAuth.signOut()
} catch let signOutError as NSError {
print ("Error signing out: %@", signOutError)
}
我希望由于应用程序关闭或崩溃而没有机会创建用户名的用户返回到初始视图控制器,而不是应用程序的主屏幕。
我目前正遇到相反的情况。