Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

359
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda