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

El framework de Cast es compatible con iOS 16 y versiones posteriores, y se incluye 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

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

    Si usas Swift Package Manager, actualiza el paquete google-cast-ios-sdk a la versión 4.8.6.

    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 la detección de red local se realice correctamente.

    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 ejemplo de NSBonjourServices 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 la red local. Para ello, agrega una cadena de permiso específica de la app en el archivo Info.plist de tu app para el 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 tienda de aplicaciones de Apple

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

Configuración de Swift Package Manager

La forma recomendada de integrar Google Cast es usar el Administrador de paquetes de Swift (SPM). El paquete del SDK de Cast para iOS está disponible en el repositorio de GitHub google-cast-ios-sdk.

Para agregar el SDK de Cast para iOS a tu proyecto en Xcode, haz lo siguiente:

  1. En Xcode, selecciona File > Add Packages….
  2. Ingresa la URL del repositorio: https://github.com/googlecast/google-cast-ios-sdk.
  3. Selecciona tus reglas de control de versiones. Por ejemplo, selecciona Up to Next Major Version con una versión mínima de 4.8.6 para recibir actualizaciones compatibles sin cambios rotundos inesperados.
  4. Haz clic en Agregar paquete.
  5. Selecciona el producto GoogleCastDynamic o GoogleCastStatic, y agrégalo al destino de tu app.

Elige una variante de framework

El paquete del SDK de Cast para iOS proporciona dos productos:

  • GoogleCastDynamic: Es el framework dinámico. Incluye todos los recursos de elementos que requieren los componentes de la IU de Cast y no requiere ninguna marca de vinculador adicional. Las apps que admiten Mac Catalyst deben usar el framework dinámico. Para obtener más información, consulta Configuración de Mac Catalyst.
  • GoogleCastStatic: Es el framework estático. Requiere los pasos de configuración adicionales que se describen en Configuración del framework estático.

Configuración del framework estático

Los frameworks estáticos no pueden incluir paquetes de recursos. Como resultado, Swift Package Manager no puede empaquetar automáticamente los recursos de elementos que requieren los componentes de la IU de Cast (como imágenes de la IU, guiones gráficos y archivos de localización) con el producto GoogleCastStatic. Si agregas GoogleCastStatic a tu destino, completa los siguientes pasos:

  1. En tu proyecto de Xcode, agrega las marcas -ObjC -lc++ a Build Settings > Other Linker Flags.
  2. Si tu app usa los componentes de la IU de Cast, agrega manualmente los paquetes de recursos a tu proyecto:
    1. Descarga la biblioteca estática desde Descargas. Asegúrate de que la versión de la biblioteca estática coincida con la versión del paquete que agregaste.
    2. Busca la carpeta Resources en el directorio descomprimido y arrastra todos los archivos .bundle a tu proyecto de Xcode. Marca "Copy all items if needed" y agrégalo a todos los destinos.

Configuración de CocoaPods

Configuración manual

Sigue estas instrucciones para agregar el SDK de Cast para iOS a tu proyecto sin usar Swift Package Manager:

Descargas

Después de descargar la biblioteca adecuada que se indica 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.6:

Estático Dinámico

Pasos para la configuración

Para instalar la biblioteca, sigue estos pasos:

  1. Descarga y extrae el SDK adecuado para tu proyecto.
  2. Configura la biblioteca dinámica de GoogleCastSDK:
  3. Arrastra el archivo .xcframework descomprimido a tu proyecto principal en el navegador de proyectos de Xcode. Marca "Copy all items if needed" y agrégalo a todos los destinos.
  4. En el 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. Quita la versión actual de GoogleCastSDK si está presente.
  2. Agrega la biblioteca de Protobuf v3.13 o una versión posterior siguiendo 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. Busca la carpeta Resources en el directorio descomprimido y arrastra todos los archivos .bundle a tu proyecto, junto al archivo GoogleCast.xcframework que agregaste antes. Marca "Copy all items if needed" 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 para el destino de Mac.