2017-09-11 5 views
0

私はswift 3でエンタープライズアプリケーションを開発しています。ユーザーがアプリケーションを読み込んだときに、ない。ユーザーがすでにサインインしている場合、ユーザーはHome view controllerに、そうでない場合はlogin screenが表示されます。ログインしている状態を確認し、FirebaseとSwiftを使用してそれに基づいてView Controllerをロードする3

このワークフローは完璧に機能します。私はSignUpボタンを使用して、新しいユーザーを登録すると、ユーザー情報Firebaseに格納され、メッセージがユーザーに表示されます:私はアプリと再び負荷それを閉じた場合は、Home view controllerがユーザーのために示したが、

“A email will be send to you after verification of your identity”. 

今私はこの時点で立ち往生しています。新たにサインアップしたユーザーについては、login view controllerを表示して、そこからログインできるようにしたいと思います。しかし、代わりに彼はアプリは直接Home view controllerを表示しています。私はここでどんなリードにも感謝します。以下は

はAppDelegateである私のコードです:

func application(_ application: UIApplication, didFinishLaunchingWithOptions 

    launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

    FIRApp.configure() 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let currentUser = FIRAuth.auth()?.currentUser 
    if currentUser != nil 
    { 
     self.window?.rootViewController = storyboard.instantiateViewController(withIdentifier: "HomeViewController") 
    } 
    else 
    { 
     self.window?.rootViewController = storyboard.instantiateViewController(withIdentifier: "LoginViewController") 

    } 

    return true 
} 

答えて

0

ユーザーのインスタンスがありますが、その後、ユーザーの電子メールアドレスが確認されているかどうかを確認する必要があります。

そのためにcurrentUser.emailVerifiedを使用してください。

+0

返信いただきありがとうございます。私はcurrentUser.Isemailverifiedで試しました。はいの場合、アプリはログインビューコントローラではなくホームビューコントローラに直接アクセスします –

+0

あなたはその状態をどこに入れましたか? – Naresh

+0

場合(あるCurrentUser .isEmailVerified?){ self.window .rootViewController = storyboard.instantiateViewController(withIdentifier: "CustomTabBarID")? }!他 {self.window .rootViewController = storyboard.instantiateViewController(withIdentifier: "LoginViewID")? } } –

関連する問題