Hola, Apple

1

Hablemos de iOS

2

Conozcamos XCode

3

¿Necesito un iPhone para ser iOS Developer?

Tu primera app en iOS

4

¡Hola, Mundo Apple!

5

Navegación con UINavigationController

6

Modales en la navegación

7

Utilizando controles en código

8

Autolayout vs SwiftUI

9

Autolayout

10

Listas con UITableView

11

Celdas personalizadas para nuestras listas.

12

Persistencia: UserDefaults

Manejo de dependencias

13

CocoaPods

14

Carthage

Servicios Web

15

Primeros pasos para consumir servicios

16

Afinando detalles para consumir servicios

17

Convirtiendo los JSON a modelos

18

Alamofire

Proyecto: PlatziTweets

19

Bienvenido a PlatziTweets

20

Configurando Proyecto

21

Diseñando vistas iniciales

22

Configuración de vistas iniciales

23

Configuración de registro

24

Descripción de la API de PlatziTweets

25

Conexión de la API y Autenticación

26

Registro de usuarios

27

Diseño del Tweet

28

Obteniendo Tweets

29

Creación de vista para publicar Tweets

30

Publicando Tweets

31

Borrando Tweets

32

Integración de la cámara

33

Conexión con Firebase

34

Configuración de XCode para correr app

35

Subir imagen a Firebase

36

Publicar Tweet con imagen

37

Tomando Videos para el Tweet

38

Publicar Tweet con video

39

Detalles del video

40

Accediendo al GPS

41

Implementando mapas con MapsKit

42

Mostrando todos los estudiantes en el mapa

43

Retos del proyecto

En producción

44

Enviar a pruebas con Firebase Distribution

45

Enviar tu aplicación a APP Store Connect

46

Distribución de tu app con TestFlight

iOS Avanzado

47

Dark Mode

48

SwiftUI

49

Terminando detalles de una vista con SwiftUI

50

Objective-C

Hola, iOS Developer

51

Felicidades

52

Expert Session: ¡nuevo espacio para resolver tus dudas sobre el desarrollo de Apps para iOS!

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Subir imagen a Firebase

35/52
Recursos

¿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.

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Perfecto Carlos, todo funcionó correctamente. 🥳

Generar un numero aleatorio para el nombre de la imagen no es necesariamente una buena practica, siempre existe la posibilidad de que se genere el mismo numero dos o mas veces. mi recomendacion es usar UUID, un identificador unico generado a partir del tiempo actual en milisegundos, para hacerlo basta con hacer lo siguiente:

let imageName = UUID().uuidString



it Works!! 😎
Al 11 de dic de 2021 FIrebase no ha cambiado

Perfecto Carlos, todo funcionó correctamente!!!