Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

354
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!