Subida de Fotos a Firebase y Publicación en Twitter
Clase 35 de 52 • Curso de Desarrollo de Apps para iOS
Contenido del curso
- 4

Creación de la primera app iOS con Xcode: Login de Facebook
09:02 - 5

Navegación entre pantallas en iOS con UI Navigation Controller
05:49 - 6

Creación y conexión de múltiples storyboards en iOS
06:14 - 7

Conexiones IBOutlets y IBActions en iOS con Storyboards
11:00 - 8

Comparativa: Auto Layout vs SwiftUI en Desarrollo iOS
02:48 - 9

Auto Layout en iOS: Diseño Responsivo con Constraints y StackViews
11:10 - 10

Creación y configuración de tablas en iOS con Swift
12:49 - 11

Creación de celdas personalizadas en TableView de iOS
14:00 - 12

Persistencia de Datos en iOS con UserDefaults
11:09
- 19

Desarrollo de "Platzi Tweets": Red Social iOS Realista
02:24 - 20

Configuración Inicial de Proyecto iOS con CocoaPods
06:18 - 21

Diseño de Pantallas de Bienvenida, Inicio de Sesión y Registro en iOS
13:06 - 22

Controladores y validaciones en pantallas de registro y login
12:22 - 23

Validación y Conexiones en Login y Registro iOS
10:01 - 24
Modelado de Endpoints y JSON para API de PlatziTweets
01:44 - 25

Integración de Autenticación con API de Platzi Tweets
09:37 - 26

Desarrollo de Registro y Autenticación en Aplicaciones iOS
06:47 - 27

Diseño de Interfaces para Aplicaciones iOS: Creación de Celdas Personalizadas
12:37 - 28

Consumo de API para mostrar tweets en iOS
12:43 - 29

Diseño de Pantalla para Crear y Publicar Tweets en iOS
11:06 - 30

Conexión de Pantalla de Publicación con Servicios de Platzi Tweets
09:11 - 31

Borrado de Tweets Propios en iOS usando Swipe en UITableView
12:21 - 32

Uso de la Cámara del iPhone para Adjuntar Fotos en Posts
10:40 - 33
Conexión de Aplicaciones iOS con Firebase paso a paso
02:26 - 34

Configuración de iPhone y X-Code para ejecución de apps
04:45 - 35

Subida de Fotos a Firebase y Publicación en Twitter
13:38 - 36

Configuración de Post con Imagen en Firebase
03:13 - 37

Captura y Publicación de Videos en iOS con Firebase
09:17 - 38

Subida de Videos a Firebase e Integración en Posts de iOS
14:41 - 39

Configuración de Celdas para Reproducción de Videos en iOS
07:58 - 40

Acceso al GPS y almacenamiento de coordenadas en iOS
09:43 - 41

Integración de Mapas en iOS con Coordenadas de Usuario
11:29 - 42

Marcadores y Configuración de Mapas en iOS con Swift
14:11 - 43

Mejoras avanzadas en UI y UX para iOS Developer
01:28
¿Cómo se configura Firebase para subir fotos desde la aplicación?
Configurar Firebase para almacenar y gestionar imágenes desde tu aplicación móvil no es complicado. El primer paso es acceder a tu cuenta de Firebase y seleccionar la sección de "Storage". Firebase te guiará en la configuración inicial, incluyendo la selección del servidor de almacenamiento. Debes modificar las reglas de seguridad temporalmente permitiendo el acceso no autenticado, esto se hace cambiando la condición de las reglas de seguridad.
if request.auth != null // Cambia esto a
if request.auth == null // Para permitir el acceso no autenticado.
Esta modificación es solo mientras realizas las pruebas iniciales; posteriormente es vital asegurarse de que las reglas de seguridad sean estrictas para proteger la privacidad y seguridad de los datos de los usuarios.
¿Cómo subir una foto a Firebase desde la aplicación?
En el módulo de creación de publicaciones de tu app, primero verifica que hay una imagen en el previsualizador (previewImageView). Luego, convierte la imagen a un formato de datos comprimido para mejorar la velocidad de subida y reducir el tamaño de almacenamiento.
guard let imageSaved = previewImageView.image else { return }
guard let imageData = imageSaved.jpegData(compressionQuality: 0.1) else { return }
Prosigue creando la configuración necesaria para almacenar la imagen en Firebase, como el tipo de contenido (imagen JPG) y genera un nombre único para cada archivo ("imageName") que se suba, evitando así sobrescribir archivos existentes.
let storageMetaData = StorageMetadata()
storageMetaData.contentType = "image/jpeg"
let storageRef = Storage.storage().reference()
let imageName = "\(Int.random(in: 100...1000)).jpg"
let folderReference = storageRef.child("tweetsImages/\(imageName)")
La función PUTDATA permite subir la imagen en un hilo secundario para no bloquear la interfaz de usuario mientras se realiza la operación.
DispatchQueue.global(qos: .background).async {
folderReference.putData(imageData, metadata: storageMetaData) { metadata, error in
DispatchQueue.main.async {
if let error = error {
print("Error al subir la foto: \(error.localizedDescription)")
return
}
folderReference.downloadURL { url, error in
guard let downloadURL = url else { return }
print("URL de descarga: \(downloadURL.absoluteString)")
}
}
}
}
¿Qué hacer después de subir la foto a Firebase?
Una vez que la imagen se ha subido correctamente y tienes la URL de descarga, puedes proceder a incorporarla en el contenido de un post dentro de la aplicación. Previo a ello, asegúrate de manejar y mostrar correctamente cualquier posible error al usuario. Es crucial devolver el control a la interfaz principal una vez que la operación asíncrona se completa, para ofrecer una experiencia de usuario fluida:
- Para manejar errores, utiliza banners de notificación que muestren el mensaje de error específico.
- En caso de éxito, imprime la URL de descarga en la consola como comprobación preliminar.
Finalmente, recuerda que el entorno del desarrollo es dinámico: mantén hábitos de documentación y consulta continua de las actualizaciones en Firebase para asegurar que tu implementación siga las mejores prácticas. Como consejo, aprovecha los recursos descargables del curso para orientarte adecuadamente y personalizar tu aplicación según tus necesidades de desarrollo.