将旧的firebase代码转换为最新版本

时间:2016-08-18 10:33:21

标签: ios xcode firebase ios9 firebase-realtime-database

晚安,

我目前正在研究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非常感谢。

更新

我一直在浏览网页试图找到解决方案,我尝试搜索下面提供的给定答案的信息但是我找不到任何理想的解决方案,任何人都可以提出任何其他建议关于如何将旧火炉转换为新火炉的想法?

1 个答案:

答案 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