Como ler / gravar de um aplicativo IOS configurado com o firebase para outro banco de dados do firebase contido em outro projeto do firebase? Swift 3
Eu tenho um banco de dados Firebase conectado ao meu aplicativo IOS com o GoogleService-Info.plist. No AppDelegate, configurei o App FIRApp.configure (). Eu poderia ler / gravar dados.
Agora, dentro deste aplicativo IOS, gostaria de acessar outro banco de dados FireBasebrevCustomer
. Por algum motivolet dbRef
deviewDidLoad
tem uma bandeira no Xcode dizendo esse 'valor imutáveldbRef
nunca foi usado "e o aplicativo trava na primeira linha em um divertido startObserving ()dbRef.observe(.value, with: { (snapshot: FIRDataSnapshot) in
.
Alguém poderia mostrar como fazer a configuração para que eu possa ler / gravar no banco de dados brevCustomer?
EDITAR
Por favor, considere o seguinte cenário:
Eu tenho dois aplicativos IOSCliente eTrabalhador e dois projetos Firebase chamadosCustomerFireBase eWorkerFirebase e gostaria que eles funcionassem da seguinte maneira.
O cliente se registra com e-mail e senha, efetua login, faz uma reserva e os dados são salvos no CustomerFireBase.
O Worker registra com email e senha, os logs são, observe WorkerFirebase para alterações de valor ou filhos adicionadosleia de CustomerFireBaseescreva para CustomerFireBaseescrever para WorkerFirebaseComo posso conseguir isso? Basicamente, preciso obter acesso de leitura / gravação de um aplicativo IOS configuradoda maneira usual com o Firebase, para outro banco de dados do Firebase contido em outro projeto do Firebase.
Class Claim {
var dbRef:FIRDatabaseReference! //create a reference to Firebase database `brevCustomer`, not the one from .plist file
override func viewDidLoad() {
super.viewDidLoad()
let app = FIRApp(named: "brevCustomer")
let dbRef = FIRDatabase.database(app: app!).reference().child("Users")
startObservingDB() // observe the database for value changes
}
func startObservingDB() {
//it crashes on the line below
dbRef.observe(.value, with: { (snapshot: FIRDataSnapshot) in
//iterate over each user node child
for user_child in snapshot.children {
print(user_child)}
}, withCancel: { (Error: Any) in
print(Error)
})
} // end of startObservingDB()
}//end of Claim class
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Use Firebase library to configure APIs for the initial project with .plist file saved in Xcode
FIRApp.configure()
/** 1. create a Firebase options object to hold the configuration data for the second Firebase Project */
let secondaryOptions = FIROptions(googleAppID: "1:82424687545:ios:71df5d45218ad27",
bundleID: "com.vivvdaplar.Brev",
gcmSenderID: "8201647545",
apiKey: "AIzaSyCNtyUf2T3UunH6-ci_WyvOqCl_RzXI",
clientID: "8200687545-42vklp94reavi6li6bolhcraoofc6.apps.googleusercontent.com",
trackingID: nil,
androidClientID: nil,
databaseURL: "https://brev-72e10.firebaseio.com",
storageBucket: "com.vivvdaplar.Brev",
deepLinkURLScheme: nil)
// Configure the app
FIRApp.configure(withName: "brevCustomer", options: secondaryOptions!)
return true
}
} //end of AppDelegate