Troubleshooting
Problemas comunes y sus soluciones.
Problemas de Instalación
Error: “Could not find a file named ‘pubspec.yaml’”
Solución:
class="highlight">
1
2
cd Capi-App
flutter pub get
Error: Dependencias conflictivas
Solución:
class="highlight">1
2
3
flutter clean
flutter pub get
flutter pub upgrade
Error: Versión de Flutter incompatible
Solución:
class="highlight">1
2
flutter upgrade
flutter doctor
Problemas de Firebase
Error: “FirebaseApp not initialized”
Solución:
- Verificar que
google-services.json (Android) o GoogleService-Info.plist (iOS) están en la ubicación correcta - Verificar que Firebase está inicializado antes de usarlo: class="highlight">
1
await Firebase.initializeApp();
Error: Permisos denegados en Firestore
Solución:
- Verificar reglas de Firestore
- Verificar que el usuario está autenticado
- Verificar que el usuario tiene los permisos necesarios
Error: “Missing or insufficient permissions”
Solución:
- Verificar reglas de Firestore en
firebase/firestore.rules - Verificar que el usuario pertenece a la clínica correcta
- Verificar permisos del usuario en
UsersRecord
Problemas de Autenticación
Error: “User not found”
Solución:
- Verificar que el usuario existe en Firebase Auth
- Verificar que existe
UsersRecord en Firestore - Verificar que el email es correcto
Error: “Invalid email or password”
Solución:
- Verificar credenciales
- Verificar que el usuario no está deshabilitado
- Intentar resetear contraseña
Error: Sesión expirada
Solución:
class="highlight">1
2
// Reautenticar usuario
await FirebaseAuth.instance.currentUser?.reload();
Problemas de Notificaciones
Notificaciones no llegan en Android
Solución:
- Verificar que
google-services.json está configurado - Verificar permisos en
AndroidManifest.xml - Verificar que el token FCM está registrado
- Verificar que el dispositivo tiene Google Play Services
Notificaciones no llegan en iOS
Solución:
- Verificar configuración de APNs en Firebase Console
- Verificar certificados en Apple Developer
- Verificar permisos en
Info.plist - Verificar que el usuario aceptó permisos de notificación
Notificaciones no llegan en Web
Solución:
- Verificar que
firebase-messaging-sw.js está en la raíz de web/ - Verificar que el servicio worker está registrado
- Verificar permisos del navegador
- Verificar que se está usando HTTPS
Problemas de Stripe
Error: “Invalid API key”
Solución:
- Verificar que las API keys están correctas en
app_constants.dart - Verificar que se está usando la key correcta (test vs live)
- Verificar que la key tiene los permisos necesarios
Error: Suscripción no se actualiza
Solución:
- Verificar webhooks de Stripe
- Verificar que N8N está procesando los webhooks
- Verificar logs de Cloud Functions
- Verificar que el webhook secret está configurado
Problemas de Zoom
Error: “Invalid token”
Solución:
- Verificar que el token de Zoom es válido
- Verificar que el token no ha expirado
- Regenerar token si es necesario
Error: Reunión no se crea
Solución:
- Verificar credenciales de Zoom API
- Verificar que la cuenta de Zoom tiene permisos
- Verificar logs de la API call
Problemas de Build
Error: Build falla en Android
Solución:
class="highlight">1
2
3
4
5
6
cd android
./gradlew clean
cd ..
flutter clean
flutter pub get
flutter build apk
Error: Build falla en iOS
Solución:
class="highlight">1
2
3
4
5
6
7
cd ios
pod deintegrate
pod install
cd ..
flutter clean
flutter pub get
flutter build ios
Error: Build falla en Web
Solución:
class="highlight">1
2
3
flutter clean
flutter pub get
flutter build web --web-renderer html
Problemas de Performance
App lenta al cargar
Solución:
- Verificar queries de Firestore (usar índices)
- Implementar paginación en listas
- Usar caché cuando sea posible
- Optimizar imágenes
Alto uso de datos
Solución:
- Implementar paginación
- Limitar queries de Firestore
- Usar caché local
- Optimizar tamaño de imágenes
Debugging
Habilitar Logs
class="highlight">1
2
3
4
5
6
// En main.dart
void main() {
// Habilitar logs de debug
debugPrint('Debug mode enabled');
runApp(MyApp());
}
Ver Logs de Firebase
class="highlight">1
firebase functions:log
Ver Logs de Flutter
class="highlight">1
flutter logs
Recursos Adicionales
- Documentación de Flutter
- Documentación de Firebase
- Troubleshooting de Firestore
- Documentación de Stripe
Anterior: Despliegue ← Volver: Manual Técnico