После аутентификации пользователя со следующим кодом (ниже приведена измененная версия моего кода, так что отображается только успешная логика входа)...
let firebaseReference = Firebase(url: "https://MY-FIREBASE.firebaseio.com")
FBSession.openActiveSessionWithReadPermissions(["public_profile", "user_friends"], allowLoginUI: true,
completionHandler: { session, state, error in
if state == FBSessionState.Open {
let accessToken = session.accessTokenData.accessToken
firebaseReference.authWithOAuthProvider("facebook", token: accessToken,
withCompletionBlock: { error, authData in
if error != nil {
// Login failed.
} else {
// Logged in!
println("Logged in! \(authData)")
}
})
}
})
}
(1.e Запуск и запуск приложения, вход в систему успешно).
Если вы удалите приложение и переустановите его на том же устройстве, этот вызов, который я использую в делегате приложения для определения того, вошел ли пользователь в систему, всегда будет возвращать, что они вошли в систему.
if firebaseReference.authData == nil {
// Not logged in
} else {
// Logged in
}
Почему? Я бы подумал, что удаление приложения и его переустановка должны стереть все данные.
Если вы reset Содержание и настройки в симуляторе iOS и установите приложение, свойство firebaseReference.authData
снова будет nil
.