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

El framework de Cast admite iOS 14 y versiones posteriores, y se presenta 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 métodos.

Configuración de Xcode

iOS 14

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

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

    De lo contrario, incluye 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 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 permiso específica de la app en el archivo Info.plist de tu app para NSLocalNetworkUsageDescription, por ejemplo, para describir la detección de Cast y otros servicios de detección, 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 para transmitir
  4. Vuelve a lanzar tu app en la App Store de Apple

    También te recomendamos que vuelvas a lanzar tu app con la versión 4.8.3 lo antes posible.

iOS 13

iOS 12

Asegúrate de que el interruptor Access WiFi Information de la sección Capabilities del destino esté configurado como "On".

Además, tu perfil de aprovisionamiento deberá admitir la capacidad de Access WiFi Information. Puedes agregarla en el Apple Developer Portal.

Configuración de CocoaPods

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

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

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

A continuación, se muestra un ejemplo de cómo agregar el CocoaPod google-cast-sdk a tu Podfile:

use_frameworks!

platform :ios, '14.0'

def target_pods
  pod 'google-cast-sdk'
end

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

En 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.3 y las versiones hasta la siguiente versión principal (principal.secundaria.parche):

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

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

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.3 del remitente:

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 de 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 la opción "Copiar todos los elementos si es necesario" y agrégala a todos los destinos.
  4. En el destino de Xcode, en la pestaña General, selecciona Embed and Sign para GoogleCast.xcframework.

Si vas a configurar la biblioteca estática, 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 posterior siguiendo las instrucciones que se encuentran en el repositorio de Protobuf en GitHub.
  2. En tu proyecto de Xcode, agrega las marcas -ObjC -lc++ a Build Settings > Other Linker Flags.
  3. Ubica la carpeta Resources en el directorio descomprimido y arrastra GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle y MaterialDialogs.bundle a tu proyecto junto al GoogleCast.xcframework que agregaste anteriormente. Marca la opción "Copiar todos los elementos si es necesario" y agrégala a todos los destinos.

Configuración de Mac Catalyst

En el caso de 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.