在使用以下代码对用户进行身份验证之后(以下是我的代码的精简版本,因此仅显示成功的登录逻辑)...
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)")
}
})
}
})
}
(即启动和运行应用程序,成功登录)。
如果您随后删除该应用程序并将其重新安装在同一设备上,则此调用(我正在应用程序委托中使用该调用来确定用户是否已登录)将始终返回他们已登录。
if firebaseReference.authData == nil {
// Not logged in
} else {
// Logged in
}
这是为什么?我本以为删除该应用程序并重新安装它应该会擦除所有数据。
如果您在iOS模拟器中重置“内容和设置”,然后安装该应用,则该firebaseReference.authData属性将再次为nil。
慕妹3146593
慕丝7291255
白衣染霜花
相关分类