2016-07-13 16 views
7

Mam bazę danych bazy ogniowej aktualnie połączoną z moją aplikacją z GoogleService-Info.plist, itp. Działa wspaniale.Użyj więcej niż jednej bazy danych Firebase w jednej aplikacji - Swift

Chciałbym również podłączyć moją aplikację do drugiej bazy danych firebase.

Wygląda na to, że ten problem został rozwiązany dla Androida here.

Każdy pomysł, jak dodać drugą bazę danych bazy danych Firebase za pomocą Swift w Xcode?

EDYCJA: Próbowałem kilka podejść, w tym przy użyciu FIROptions do konfigurowania instancji bazy danych. Po prostu nie mogę poprawnie sformułować kodu. Każda pomoc jest doceniana!

Odpowiedz

8

Właściwym sposobem zainicjować kolejną bazę ma zainicjować kolejną aplikację, za pomocą konstruktora FIROptions, tak:

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 

Albo można zainicjować z innym imieniem plist zamiast ogromnej konstruktora:

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

Dzięki, Mike. Cieszę się, że to możliwe. – tsteve

+0

Mike, jak otrzymamy powiadomienie o wydaniu tej wersji? – frank

+0

Wszystko to znajduje się w uwagach do wydania: https://firebase.google.com/support/releases. BTW, ta metoda jest dostępna tutaj: https://firebase.google.com/docs/reference/ios/firebaseanalytics/interface_f_i_r_options.html#a9a699abf436a6fcf9fd8165a2dfceaf6 –

0

Dzięki najnowszej wersji Firebase należy zrobić:

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) 
Powiązane problemy