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 está disponible en los 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 todos 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, extraer el SDK de forma manual.

  2. Agrega NSBonjourServices a tu Info.plist

    Especifica NSBonjourServices en tu Info.plist para permitirá que el descubrimiento de redes locales sea exitoso en iOS 14.

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

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

    Actualiza la siguiente definición de ejemplo de NSBonjourServices y Reemplaza “ABCD1234” con el ID de tu 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 para evitar eventos cambios rotundos, como se detalla en el guía de podfile.

En este fragmento, la versión 4.8.1 y las versiones posteriores versiones principales (major.minor.patch):

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

Por ejemplo, “~> 1.6.7&#39; incluiría todas las versiones a partir de la 1.6.7, pero no incluida la versión 2.0.0.

Configuración manual

Las siguientes instrucciones te indican cómo agregar el SDK de Cast para iOS a tu proyecto sin usar CocoaPods:

Descargas

Después de descargar la biblioteca adecuada, sigue las pasos de configuración para agregar el framework a tu en un proyecto final.

Transmite las bibliotecas del SDK de Sender de iOS 4.8.1:

Estática Dinámicas

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 .xcframework descomprimido a tu proyecto principal en Navegador de proyectos de Xcode (no en el proyecto de Pods, si tienes uno) Marca la opción "Copiar todos los elementos si es necesario" y agrégalos a todas las orientaciones.
  4. En la pestaña General de la orientación de Xcode, selecciona Embed and Sign para GoogleCast.xcframework.

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

  1. Cómo configurar la biblioteca de Protobuf con la versión mínima v3.13.
    1. Si en tu proyecto se 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 en tu proyecto no se usa CocoaPods:
      1. Quita la versión actual de GoogleCastSDK, si está presente.
      2. Agrega la biblioteca de Protobuf v3.13 o superior. siguiendo las instrucciones que se encuentran en la GitHub de protobuf repo.
  2. En el proyecto de Xcode, agrega las marcas -ObjC -lc++ al Configuración de compilación > Otras marcas del vinculador.
  3. Ubica la carpeta Recursos en el directorio descomprimido y arrastrar GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle y MaterialDialogs.bundle en tu proyecto junto a la GoogleCast.xcframework agregados anteriormente. Marca la opción "Copiar todos los elementos si es necesario" y agrégalos a todos objetivos.

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 las framework para tu proyecto. Luego, excluye condicionalmente el SDK de Cast de Mac. objetivo, como se menciona en el Documentación de Apple. Las bibliotecas estáticas se compilan previamente para la arquitectura de iOS, lo que genera un vinculador cuando se compila en el destino de Mac.