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 ofrece 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.1 a tu proyecto.

    Si usas CocoaPods, usa pod update para agregar el SDK 4.8.1 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 la detección de la red local tenga éxito en iOS 14.

    Deberás agregar _googlecast._tcp y _<your-app-id>._googlecast._tcp como servicios para que la detección de dispositivos funcione correctamente.

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

    Actualiza la siguiente definición de NSBonjourServices de ejemplo y reemplaza "ABCD1234" por el ID de la app.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Add NSLocalNetworkUsageDescription to your Info.plist

    We strongly recommend that you customize the message shown in the Local Network prompt by adding an app-specific permission string in your app's Info.plist file for the NSLocalNetworkUsageDescription such as to describe Cast discovery and other discovery services, like DIAL.

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

    This message will appear as part of the iOS Local Network Access dialog as shown in the mock.

    Cast Local Network Access permissions dialog image
  4. Re-release your app to the Apple App Store

    We recommend you also re-release your app using 4.8.1 as soon as possible.

iOS 13

iOS 12

Ensure that the Access WiFi Information switch in the Capabilities section of the target is set to "On".

Additionally, your provisioning profile will need to support the Access WiFi Information capability. This can be added in the Apple Developer Portal.

CocoaPods setup

The recommended way of integrating Google Cast is using CocoaPods. For integration, use the google-cast-sdk CocoaPods.

To get started, follow the getting started guide.

Once CocoaPods is set up, follow the using CocoaPods guide to get your Podfile created and your project ready to use with the Google Cast SDK.

Here's an example of how to add the google-cast-sdk CocoaPod to your 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 a fin de evitar cambios rotundos inesperados, como se detalla en la guía de Pods.

En este fragmento, se permiten la versión 4.8.1 y las versiones posteriores a la siguiente versión principal (major.minor.patch):

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

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

Configuración manual

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

Descargas

Después de descargar la biblioteca correspondiente 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.1:

Estática Dinámica

Pasos de 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égalo a todas las opciones de segmentación.
  4. En la pestaña General de tu destino de Xcode, selecciona Embed and Sign para GoogleCast.xcframework.

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

  1. Configura la biblioteca de Protobuf con la versión mínima v3.13.
    1. Si tu proyecto usa CocoaPods:
      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:
      1. Quita la versión actual de GoogleCastSDK si está presente.
      2. Para agregar la biblioteca de Protobuf 3.13 o una versión posterior, sigue 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 Recursos en el directorio descomprimido y arrastra GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle y MaterialDialogs.bundle a tu proyecto junto al GoogleCast.xcframework que agregaste antes. Marca “Copiar todos los elementos si es necesario” y agrégalo a todos los destinos.

Configuración de Mac Catalyst

En el caso de las apps compatibles con 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 condicionalmente el SDK de Cast del destino para Mac, como se indica en la documentación de Apple. Las bibliotecas estáticas se compilan previamente para la arquitectura de iOS, lo que genera un error de vinculador cuando se compila en el destino de Mac.