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

El framework de Cast es compatible con iOS 14 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 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, 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 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 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 red local. Para ello, agrega una cadena de permiso específica de la app en el archivo Info.plist de la 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 cuadro de 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.3 lo antes posible.

iOS 13

iOS 12

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

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

Configuración de CocoaPods

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

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.

Este es un ejemplo de cómo agregar 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

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

En este fragmento, se permite 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, pero no la 2.0.0.

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:

Estática Dinámica

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 .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égalos 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 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 elemento 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 siguiendo las instrucciones que se encuentran en el repositorio de GitHub de Protobuf.
  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égalos 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 objetivo de Mac, como se menciona en la documentación de Apple. Las bibliotecas estáticas se precompilan para la arquitectura de iOS, lo que genera un error de vinculador cuando se compila para el destino de Mac.