2016-07-13 27 views
7

Uygulamamda GoogleService-Info.plist vb. Ile şu anda bağlı bir firebase veritabanı var. Harika çalışıyor.Tek bir uygulamada birden fazla Firebase veritabanı kullanın - Swift

Uygulamamı ikinci bir firebase veritabanına da bağlamak istiyorum.

Bu sorun, Android here için çözülmüş gibi görünüyor.

Xcode'ta Swift ile ikinci bir firebase veritabanını ekleme hakkında herhangi bir fikriniz var mı?

DÜZENLEME: Bir veritabanının bir örneğini kurmak için FIROptions kullanılarak yapılan çeşitli yaklaşımları denedim. Sadece kodu doğru şekilde yapılandıramıyorum. Herhangi bir yardım takdir edilir!

cevap

8

Başka bir veritabanı başlatmak için uygun yolu şöyle, FIROptions kurucuyu kullanarak, başka bir uygulamayı başlatmak için:

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 

Yoksa daha çok büyük bir yapıcı dışında başka isimli plist başlatılabilmesini:

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

Sağol Mike. Bunun mümkün olduğuna sevindim. – tsteve

+0

Mike, bu özellik ile sürüm serbest bırakıldığında nasıl bilgilendiriliriz? – frank

+0

Tümü sürüm notlarında: https://firebase.google.com/support/releases. BTW, istediğiniz yöntem burada: https://firebase.google.com/docs/reference/ios/firebaseanalytics/interface_f_i_r_options.html#a9a699abf436a6fcf9fd8165a2dfceaf6 –

0

yapmanız gereken:

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) 
İlgili konular