在单个应用中使用多个Firebase数据库 - Swift

时间:2016-07-13 23:42:58

标签: ios swift firebase firebase-realtime-database

我目前使用GoogleService-Info.plist等连接到我的应用程序的firebase数据库。它运行良好。

我想将我的应用程序连接到第二个firebase数据库。

看起来这个问题已经解决了Android here

知道如何在Xcode中使用Swift添加第二个firebase数据库吗?

编辑:我尝试了几种方法,包括使用FIROptions设置数据库实例。我似乎无法正确构造代码。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:11)

初始化另一个数据库的正确方法是使用FIROptions构造函数初始化另一个应用程序,如下所示:

FIRDatabase().database() // gets you the default database

let options = FIROptions(googleAppID:  bundleID: , GCMSenderID: , APIKey: , clientID: , trackingID: , androidClientID: , databaseURL: "https://othernamespace.firebaseio.com", storageBucket: , deepLinkURLScheme: ) // fill in all the other fields 
FIRApp.configureWithName("anotherClient", options: options)
let app = FIRApp(named: "anotherClient")
FIRDatabase.database(app: app!) // gets you the named other database

或者你可以从另一个命名的plist而不是一个巨大的构造函数初始化:

let filePath = NSBundle.mainBundle().pathForResource("MyCool-GoogleService-Info", ofType:"plist")
let options = FIROptions(contentsOfFile:filePath)

答案 1 :(得分:2)

使用最新版本的Firebase,你应该这样做:

let filePath = Bundle.main.path(forResource: "My-GoogleService", ofType: "plist")
guard let fileopts = FirebaseOptions.init(contentsOfFile: filePath!)
      else { assert(false, "Couldn't load config file") }
FirebaseApp.configure(options: fileopts)