Primeros pasos en iOS

Con Cloud Storage para Firebase puedes subir y compartir contenido generado por los usuarios, como imágenes y videos, lo que te permite integrar contenido de rich media en tus apps. Los datos se almacenan en un depósito de Google Cloud Storage, una solución de almacenamiento de objetos a escala de exabytes con alta disponibilidad y redundancia global. Cloud Storage te permite subir de forma segura estos archivos directamente desde dispositivos móviles y navegadores web, además de administrar las redes irregulares con facilidad.

Requisitos previos

  1. Instala el SDK de Firebase.
  2. Agrega la app a tu proyecto de Firebase en Firebase console.

Configura el acceso público

Cloud Storage para Firebase proporciona un lenguaje de reglas declarativas que te permite definir cómo se deben estructurar los datos, cómo se deben indexar y cuándo se pueden leer y escribir. Según la configuración predeterminada, el acceso de lectura y escritura a Storage es restringido, por lo que solo los usuarios autenticados pueden leer o escribir datos. Si quieres comenzar sin configurar Authentication, puedes configurar las reglas para acceso público.

Esto hace que Storage esté abierto para todo el mundo, incluso las personas que no usan tu app, así que asegúrate de volver a restringir Storage cuando configures la autenticación.

Agrega Cloud Storage a tu app

Asegúrate de que la siguiente dependencia se encuentre en el Podfile de tu proyecto:

pod 'Firebase/Core'
pod 'Firebase/Storage'

Ejecuta pod install y abre el archivo .xcworkspace creado.

Configura Cloud Storage

Debes inicializar Firebase antes de crear o usar cualquier referencia de Firebase. Si ya hiciste esto con otra función de Firebase, puedes omitir este paso.

  1. Importa el módulo de Firebase en tu UIApplicationDelegate:

    Swift

    import Firebase
    

    Objective-C

    @import Firebase;
    
  2. Configura una instancia compartida de FirebaseApp, generalmente en el método application:didFinishLaunchingWithOptions: de tu aplicación:

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
    
  3. Obtén una referencia al servicio de almacenamiento mediante la app de Firebase predeterminada:

    Swift

    let storage = Storage.storage()
    

    Objective-C

    FIRStorage *storage = [FIRStorage storage];
    

Estás listo para comenzar a usar Cloud Storage.

En primer lugar, veamos cómo crear una referencia a Cloud Storage.

Configuración avanzada

Hay algunos casos de uso que necesitan configuración adicional:

El primer caso de uso es perfecto si tienes usuarios en todo el mundo y quieres almacenar sus datos cerca de ellos. Por ejemplo, puedes crear depósitos en EE.UU., Europa y Asia para almacenar datos de usuarios de esas regiones, a fin de reducir la latencia.

El segundo caso de uso es útil si tienes datos con diferentes patrones de acceso. Por ejemplo, puedes configurar un depósito regional o multirregional que almacene fotos o cualquier tipo de contenido al que se accede con frecuencia y, por otro lado, un depósito de Nearline o Coldline que almacene copias de seguridad de usuarios y otros tipos de contenido a los que se accede con poca frecuencia.

En ambos casos de uso, te recomendamos usar varios depósitos de almacenamiento.

El tercer caso de uso es útil si estás creando una app, como Google Drive, que permite a los usuarios acceder con varias cuentas (por ejemplo, una cuenta personal y una cuenta de trabajo). Puedes usar una instancia de app de Firebase personalizada para autenticar cada cuenta adicional.

Usa varios depósitos de almacenamiento

Si deseas usar un depósito de almacenamiento distinto del que se proporcionó antes de forma predeterminada o usar varios depósitos de almacenamiento en una sola app, puedes crear una instancia de FIRStorage que haga referencia a tu depósito personalizado:

Swift

// Get a non-default Storage bucket
storage = Storage.storage(url:"gs://my-custom-bucket")
    

Objective-C

// Get a non-default Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
    

Trabaja con depósitos importados

Cuando importes un depósito existente de Cloud Storage a Firebase, deberás permitir que Firebase acceda a estos archivos con la herramienta gsutil que se incluye en el SDK de Google Cloud:

gsutil -m acl ch -r -u firebase-storage@system.gserviceaccount.com:O gs://<your-cloud-storage-bucket>

Esto no afecta los depósitos creados recientemente, ya que el control de acceso predeterminado permite el acceso de Firebase. Esta es una medida temporal y se ejecutará de forma automática en el futuro.

Usa una app de Firebase personalizada

Si estás creando una app más compleja con una FirebaseApp personalizada, puedes crear una instancia de Storage inicializada con la app:

Swift

// Get the default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp)

// Get a non-default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
    

Objective-C

// Get the default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp];

// Get a non-default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
    

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.