2016-08-18 8 views
1

私のアプリにはバグがあります。 新しいFirebaseを使用してユーザー+ Firebaseデータベースを認証しますログアウトFirebaseは実際には機能しません

2つのサインイン/サインイン方法:電子メールまたはFacebook。私のアプリで

は、私は簡単なコマンドでログアウトボタンがあります。

try! FIRAUTH.auth()!.signOut() 
self.performSegueWithIdentifier("firstScreen", sender: self) 

が正常に動作します。同じiPhone上で

、私のテスト:Facebookの

    • ログイン私のアプリに(firebaseデータベース)件のデータを追加
    • ログアウト
    • 使用される電子メールの別のメールアカウントでログインby Facebook

    私は自分のプロファイルアカウントと同じデータを取得します。 私が本当にログアウトしていないのが好きです。

    私が使用しているアカウントに対応するデータを取得するには、ログアウト後にアプリを強制終了する必要があります。

    ご存知ですか? アプリタスクを終了するとどうなりますか?

    お返事ありがとうございます。

  • 答えて

    0

    私は前に同じ問題を扱っていましたが、問題はあなたがフェイスベースからログアウトするときにもフェイスブックからログアウトする必要があることです。

    try! FIRAUTH.auth()!.signOut() 
    let loginManager = FBSDKLoginManager() 
    loginManager.logOut() 
    self.performSegueWithIdentifier("firstScreen", sender: self) 
    

    ログイン時に、あなたが戻って同じデータを取得し続けるない場合。

    0

    おかげでジャスティンが、残念ながらそれはあなたのソリューションとまったく同じ問題です。 私はAppDelegateで間違っているかもしれません.Appleを離れるときにユーザーが接続しているかどうかをチェックします。

    //check if user has a currentUser ID 
    //if Yes, we check if he has a username 
    //if Yes, he goes to vc (first viewcontroller) 
    //if not, he geos to the vc2 where he chooses a username 
    
    if ((FIRAuth.auth()!.currentUser) != nil){ 
    userID = String(FIRAuth.auth()!.currentUser!.uid) 
        ref.child("Users").child(userID).child("name").observeSingleEventOfType(FIRDataEventType.Value, withBlock: { (snapshot) in 
         if (snapshot.value as? String == ""){ 
          self.window?.rootViewController = vc2 
         }else{ 
          self.window?.rootViewController = vc 
         } 
        }) 
    } 
    
    関連する問題