Configuración del desarrollo con el framework de aplicaciones de Cast (CAF) para iOS

El framework de Cast admite iOS 15 y versiones posteriores, y está disponible en frameworks estáticos y dinámicos.

Consulta la referencia de la API de Google Cast para iOS para obtener descripciones de todas las clases y los métodos.

Configuración de Xcode

iOS 14

  1. Agrega el SDK de Cast para iOS 4.8.4 a tu proyecto

    Si usas CocoaPods, usa pod update para agregar el SDK 4.8.4 a tu proyecto.

    De lo contrario, extrae el SDK de forma manual.

  2. Agrega NSBonjourServices a tu Info.plist

    Especifica NSBonjourServices en tu Info.plist para permitir que el descubrimiento de la red local se realice correctamente en iOS 14.

    Deberás agregar _googlecast._tcp y _<your-app-id>._googlecast._tcp como servicios para que el descubrimiento de dispositivos funcione correctamente.

    El appID es tu receiverID, que es el mismo ID que se define en tu GCKDiscoveryCriteria.

    Actualiza la siguiente definición de NSBonjourServices de ejemplo y reemplaza "ABCD1234" por tu appID.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Agrega NSLocalNetworkUsageDescription a tu Info.plist

    Te recomendamos que personalices el mensaje que se muestra en el mensaje de red local agregando una cadena de permisos específica de la app en el archivo Info.plist de tu app para NSLocalNetworkUsageDescription, como para describir el descubrimiento de Cast y otros servicios de descubrimiento, como DIAL.

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

    Este mensaje aparecerá como parte del diálogo de acceso a la red local de iOS, como se muestra en la simulación.

    Imagen del diálogo de permisos de acceso a la red local de Cast
  4. Vuelve a lanzar tu app en la App Store de Apple

    Te recomendamos que vuelvas a lanzar tu app con la versión 4.8.4 lo antes posible.

iOS 13

iOS 12

Asegúrate de que el interruptor Acceder a la información de Wi-Fi en la sección Funciones del destino esté configurado como "Activado".

Además, tu perfil de aprovisionamiento deberá admitir la función Acceder a la información de Wi-Fi. Se puede agregar en el Portal para desarrolladores de Apple.

Configuración de CocoaPods

La forma recomendada de integrar Google Cast es usar CocoaPods. Para la integración, usa el google-cast-sdk CocoaPods.

Para comenzar, sigue la guía de introducción.

Una vez que se configure CocoaPods, sigue la guía para usar CocoaPods para crear tu Podfile y preparar tu proyecto para usarlo con el SDK de Google Cast.

Este es un ejemplo de cómo agregar el CocoaPod google-cast-sdk a tu Podfile:

use_frameworks!

platform :ios, '15.0'

def target_pods
  pod 'google-cast-sdk'
end

target 'CastVideos-objc' do
  target_pods
end
target 'CastVideos-swift' do
  target_pods
end

Para tu proyecto, debes especificar un rango para tus pods para evitar cambios rotundos inesperados , como se detalla en la guía de podfile.

En este fragmento, se permiten la versión 4.8.4 y las versiones hasta la siguiente versión principal (principal.secundaria.parche):

pod 'google-cast-sdk', '~> 4.8.4'

Por ejemplo, "~> 1.6.7" incluiría todas las versiones desde la 1.6.7 hasta la 2.0.0, pero no la incluiría.

Configuración manual

Las siguientes instrucciones son para agregar el SDK de Cast para iOS a tu proyecto sin usar CocoaPods:

Descargas

Después de descargar la biblioteca adecuada que se muestra a continuación, sigue los pasos de configuración para agregar el framework a tu proyecto.

Bibliotecas del SDK de Cast para iOS 4.8.4:

Estático Dinámico

Pasos para la configuración

Para instalar la biblioteca, haz lo siguiente:

  1. Descarga y extrae el SDK adecuado para tu proyecto.
  2. Configura la biblioteca dinámica GoogleCastSDK:
  3. Arrastra el archivo .xcframework descomprimido a tu proyecto principal en el navegador de proyectos de Xcode (no al proyecto de Pods si tienes uno). Marca "Copiar todos los elementos si es necesario" y agrégalo a todos los destinos.
  4. En tu destino de Xcode, en la pestaña General, selecciona Embed and Sign para GoogleCast.xcframework.

Si configuras la biblioteca dinámica, sigue estos pasos además de los anteriores:

  1. Configura la biblioteca de Protobuf con la versión mínima v3.13.
    1. Si tu proyecto usa CocoaPods, haz lo siguiente:
      1. Abre tu Podfile y quita el google-cast-sdk si está presente:
        pod 'google-cast-sdk'
      2. Agrega la biblioteca Protobuf si no está presente:
        pod 'Protobuf', '3.13'
      3. Ejecuta pod install en la carpeta raíz de tu proyecto.
    2. Si tu proyecto no usa CocoaPods, haz lo siguiente:
      1. Quita la versión actual de GoogleCastSDK si está presente.
      2. Agrega la biblioteca de Protobuf v3.13 o una versión posterior. Para ello, sigue las instrucciones que se encuentran en el repositorio de GitHub de Protobuf.

Si configuras la biblioteca estática, sigue estos pasos además de los anteriores:

  1. En tu proyecto de Xcode, agrega las marcas -ObjC -lc++ a Build Settings > Other Linker Flags.
  2. Ubica la carpeta Resources en el directorio descomprimido y arrastra todos los archivos .bundle a tu proyecto junto al GoogleCast.xcframework que agregaste anteriormente. Marca "Copiar todos los elementos si es necesario" y agrégalo a todos los destinos.

Configuración de Mac Catalyst

Para las apps que admiten Mac Catalyst, usa la biblioteca dinámica del SDK de Cast. Sigue el proceso de configuración manual para agregar el framework a tu proyecto. Luego, excluye de forma condicional el SDK de Cast del destino de Mac como se menciona en la documentación de Apple. Las bibliotecas estáticas se compilan previamente para la arquitectura de iOS, lo que provoca un error del vinculador cuando se compila en el destino de Mac.