晚安,
我目前正在研究iOS
开发以及Firebase
。
我将一些Firebase
代码转换为Firebase
的最新版本时遇到了一些小问题。在我的讲座中,导师已将项目设置为:
import Foundation
import Firebase
class DataService {
static let ds = DataService()
private var _REF_BASE = Firebase (url: "MyURL")
var REF_BASE: Firebase {
return _REF_BASE
}
}
然后在ViewController
内,他有以下内容:
DataService.ds.REF_BASE.authWithOAuthProvider("facebook", Token: accessToken, withCompletionBlock: { error, authData in
})
我目前正在使用最新版本的Firebase
我的代码有些不同,如下所示:
import Foundation
import Firebase
class DataService {
static let ds = DataService()
private var _REF_BASE = FIRDatabase.database().reference()
var ref: FIRDatabase {
return _REF_BASE
}
}
我遇到的第一个问题是return _REF_BASE
它说:
无法转换类型' FIRDatabaseReference'的返回表达式返回类型FIRDatabase
接下来我的ViewController
内有以下内容:
DataService.ds.ref.authWithOAuthProvider("facebook", Token: accessToken, withCompletionBlock: { error, authData in
})
然而,我收到的错误是:
FIRDatabase
类型的值没有成员authWithOAuthProvider
我已经问过老师他是否已经为本次讲座更新了代码,但这已经过了几天而且我只能假设他没有。
现在我对Firebase
全新,并将其整合到IOS
内,以便有人可以分享他们如何将讲座中提供的代码转换为最新版本的知识Firebase I非常感谢。
更新
我一直在浏览网页试图找到解决方案,我尝试搜索下面提供的给定答案的信息但是我找不到任何理想的解决方案,任何人都可以提出任何其他建议关于如何将旧火炉转换为新火炉的想法?
答案 0 :(得分:1)
第一个问题类型为.. FIRDatabase
应为FIRDatabaseReference
var ref: FIRDatabaseReference { return _REF_BASE }
对于FB身份验证,方法已完全更改... Full guide here
let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString)
FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
// ...
}
并检查用户是否存在于数据库中check this answer