Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

358
Visualizações
La base de datos en tiempo real de Firebase no funciona en Ionic iOS en una compilación real, pero funciona en la recarga en vivo

Tengo una situación cableada, he estado luchando por un tiempo con esto.

Implementé el chat en la aplicación utilizando la base de datos en tiempo real de Firebase. Esta solución funciona bien en Android, tanto en el modo de recarga en vivo como en el modo de compilación, y también funciona en el modo de recarga en vivo ( ionic cordova run ios -l --external ) en iOS, pero no no funciona cuando se construye la aplicación. ionic cordova build ios

Estoy probando esto en el mismo dispositivo y el mismo código, pero falla en el modo de compilación.

Al depurar mucho, encontré un error que se muestra en la consola cuando se realiza la llamada a la base de datos de Firebase, pero no estoy seguro de cuál es el problema y dónde está exactamente.

 [Error] ERROR – Error: Uncaught (in promise): TypeError: undefined is not an object (evaluating 'BuildInfo.packageName') attachCallbackListeners@ionic://localhost/vendor.js:116999:39 @ionic://localhost/vendor.js:116900:39 generatorResume@[native code] asyncGeneratorStep@ionic://localhost/vendor.js:212788:24 _next@ionic://localhost/vendor.js:212810:27 @ionic://localhost/vendor.js:212817:12 ZoneAwarePromise@ionic://localhost/polyfills.js:1419:37 @ionic://localhost/vendor.js:212806:23 generatorResume@[native code] asyncGeneratorStep@ionic://localhost/vendor.js:212788:24 _next@ionic://localhost/vendor.js:212810:27 run@ionic://localhost/polyfills.js:166:49 @ionic://localhost/polyfills.js:1308:39 runTask@ionic://localhost/polyfills.js:210:57 drainMicroTaskQueue@ionic://localhost/polyfills.js:614:42 invokeTask@ionic://localhost/polyfills.js:523:40 Error: Uncaught (in promise): TypeError: undefined is not an object (evaluating 'BuildInfo.packageName') attachCallbackListeners@ionic://localhost/vendor.js:116999:39 @ionic://localhost/vendor.js:116900:39 generatorResume@[native code] asyncGeneratorStep@ionic://localhost/vendor.js:212788:24 _next@ionic://localhost/vendor.js:212810:27 @ionic://localhost/vendor.js:212817:12 ZoneAwarePromise@ionic://localhost/polyfills.js:1419:37 @ionic://localhost/vendor.js:212806:23 generatorResume@[native code] asyncGeneratorStep@ionic://localhost/vendor.js:212788:24 _next@ionic://localhost/vendor.js:212810:27 run@ionic://localhost/polyfills.js:166:49 @ionic://localhost/polyfills.js:1308:39 runTask@ionic://localhost/polyfills.js:210:57 drainMicroTaskQueue@ionic://localhost/polyfills.js:614:42 invokeTask@ionic://localhost/polyfills.js:523:40resolvePromise — zone.js:1213resolvePromise — zone.js:1167(anonymous function) — zone.js:1279onInvokeTask — core.js:28659runTask — zone.js:178drainMicroTaskQueue — zone.js:582promiseReactionJob defaultErrorLogger (vendor.js:54029) handleError (vendor.js:54077) next (vendor.js:76833) next __tryOrUnsub (vendor.js:207784) next (vendor.js:207723) _next (vendor.js:207673) next (vendor.js:207650) next (vendor.js:207434) emit (vendor.js:73485) run (polyfills.js:166) onHandleError (vendor.js:76248) runGuarded (polyfills.js:179) (anonymous function) (polyfills.js:1106) drainMicroTaskQueue (polyfills.js:621) promiseReactionJob

el código que activa la llamada a firebase rdb

 this.db.database.ref(this.messageMetaData.fireBaseString).orderByChild('date') .on('value', async (resp) => { this.messageList = snapshotToArray(resp); await this.iterateImages(); this.loading = false; if (this.playSound != false) { this.playChatSound(); } this.playSound = true; setTimeout(() => this.content.scrollToBottom(100)); });

He intentado agregar declaraciones de error pero no veo ningún otro error. Visto sugerencia o soluciones para proceder.

Complementos utilizados

 " @angular/fire": "^7.0.4", "firebase": "^9.0.2", "angularfire2": "^5.4.2", "firebase-tools": "^7.12.0",

información iónica

 Ionic: Ionic CLI : 6.17.0 (/usr/local/lib/node_modules/@ionic/cli) Ionic Framework : @ionic/angular 5.9.3 @angular-devkit/build-angular : 12.2.5 @angular-devkit/schematics : 11.2.14 @angular/cli : 12.2.5 @ionic/angular-toolkit : 3.1.1 Cordova: Cordova CLI : 10.0.0 Cordova Platforms : ios 6.1.1 Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.2.1, (and 29 other plugins) Utility: cordova-res : not installed globally native-run (update available: 1.5.0) : 1.4.0 System: Android SDK Tools : 26.1.1 (/Users/saikiran/Library/Android/sdk) ios-deploy : 1.11.4 ios-sim : 8.0.2 NodeJS : v14.18.0 (/usr/local/bin/node) npm : 6.14.15 OS : macOS Monterey Xcode : Xcode 13.2.1 Build version 13C100
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No soy una persona iónica, pero según el error:

 undefined is not an object

Está intentando pasar undefined en lugar de un objeto {} . Me imagino que this.messageMetaData.fireBaseString no está definido o resp no está definido.

Verifique la primera variable, y podría probar esto para la segunda:

 .on('value', async (resp) => { if (resp) { ... } ... });

FWI:

Creo que necesitas actualizar:

 "angularfire2": "^5.4.2",

Este paquete ya ni siquiera tiene el mismo nombre.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda