[英]How and when do I save the users APN token for firebase messaging?
[英]How do I authenticate users in shoudPerformSegueWithIdentifier and Firebase?
我正在嘗試使用IOS swift和Firebase在情節提要中創建身份驗證頁面。 這是我的Storyboardsegue聲明:
然后,我正在使用shouldPerformSegueWithIdentifier
進行身份驗證。 但是,我還要在Firebase中登錄用戶,因此我的代碼如下所示:
override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool {
if db.authData != nil {
return true
} else {
let email = emailTextField.text
let password = passwordTextField.text
db.authUser(email, password: password, withCompletionBlock: {
error, authData in
if error != nil {
print(error.description)
} else {
print("logged in")
}
})
return false
}
}
該代碼有些奏效,但我必須單擊兩次登錄按鈕,因為第一次是在Firebase中登錄用戶,而第二次db.authData
不再是nil,因為用戶已經登錄,因此返回true。 我不想單擊兩次以登錄,我只想單擊一次。 我不能只將return true
或return false
放到withCompletionBlock
,因為該塊返回void。 我該如何工作?
使用當前的實現,您將無法實現此功能。 您有兩種方法可以做到這一點:
db.authUser()
同步並返回結果 @IBAction func login(sender : AnyObject?)
{
let email = emailTextField.text
let password = passwordTextField.text
db.authUser(email, password: password, withCompletionBlock: {
error, authData in
if error != nil
{
print(error.description)
}
else
{
// Navigate to next screen
// Start perform segue here
}
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.