2016-06-15 19 views
6

Installa Firebase nella mia app iOS. Tutto funziona bene sul simulatore ma sul dispositivo reale non esegue/restituisce una query al mio database.Firebase non funziona su dispositivi reali (iOS)

Cerco di pulire il progetto ma non cambia nulla.

Hai una soluzione?

EDIT: aggiornamento con codice

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Setup Firebase 
    self.ref = FIRDatabase.database().reference() 



    self.ref.child("Database").observeEventType(.Value, withBlock: { (snapshot) in 


     if snapshot.exists() { 
      for rest in snapshot.children.allObjects as! [FIRDataSnapshot] { 
       print(rest.value) 


      } 
     } else { 


     } 

    }) { (error) in 
     print(error.localizedDescription) 
    } 
} 
+0

Dovrai pubblicare il tuo codice prima di poter anche speculare cosa è sbagliato – Grant

+0

Ho modificato il mio post. Funziona su simulatore ma non sul mio iPhone – Jojo

risposta

3

Non v'è alcun difetto nel codice, ho avuto lo stesso problema. Ecco cosa ho fatto:

  1. Basta andare al tuo progetto nel pannello di navigazione sulla sinistra.

  2. Vai a impostazioni di generazione e scorrere fino a Build Options.

  3. Modificare il valore di Abilita codice binario che a No.

Spero che funzioni anche per te!

+4

Questo non funziona. C'è un'altra soluzione? – user1585646

+1

@ user1585646 nessuna di queste risposte mi ha aiutato. Ma sono esplicitamente disconnesso dal dispositivo reale e quindi accedi di nuovo, e DB inizia immediatamente a rispondere. Penso che la chiave di Firebase sia stata memorizzata nella cache e non l'abbia rinnovata correttamente. – Jurasic

0

Ho avuto lo stesso problema ed era dovuto a Autenticazione. L'autenticazione era Abilita su Firebase ma non ho Utente autenticato. Quindi non sono stato in grado di leggere il nodo dal database Firebase.

1

Ho scoperto che se si è effettuato il login e si elimina l'applicazione, dopo aver reinstallato l'applicazione, si sarà ancora connessi. Non so esattamente, ma ho presunto che Firebase in qualche modo colleghi la cache dell'account al Bundle Identifier, non nella memoria locale.

Quindi la soluzione è semplice e ha funzionato per me:

  1. Rimuovere la vostra applicazione dal dispositivo reale.
  2. Vai al tuo progetto nel pannello di navigazione.
  3. Nella scheda Generale modificare l'identificatore del pacchetto, ad esempio: "myApp.com" su "myApplication.com" o qualsiasi altra cosa si desideri.
  4. Crea ed esegui
  5. Bingo! Ora la tua app dovrebbe interagire bene con Firebase.