El framework de Cast es compatible con iOS 12 y versiones posteriores, y viene en frameworks dinámicos y estáticos.
Consulta la referencia de la API de Google Cast para iOS a fin de obtener descripciones de todas las clases y los métodos.
Ten en cuenta que los dispositivos de transmisión más recientes admiten el modo de invitado para iOS, pero los dispositivos de generación anterior no. Para obtener más información, consulta Modo de invitado: dispositivos de transmisión compatibles.
Configuración de Xcode
iOS 14
-
Agrega el SDK para Cast para iOS 4.7.0 a tu proyecto.
Si usas CocoaPods, usa
pod update
para agregar el SDK 4.7.0 a tu proyecto.De lo contrario, extrae el SDK de forma manual.
-
Agrega
NSBonjourServices
a tuInfo.plist
Especifica
NSBonjourServices
en tuInfo.plist
para permitir que el descubrimiento de redes locales tenga éxito 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 ID de receptor, que es el mismo que se define en tu
GCKDiscoveryCriteria
.Actualiza la siguiente definición de ejemplo de
NSBonjourServices
y reemplaza "ABCD1234" por tu appID. -
Add
NSLocalNetworkUsageDescription
to yourInfo.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 theNSLocalNetworkUsageDescription
such as to describe Cast discovery and other discovery services, like DIAL.This message will appear as part of the iOS Local Network Access dialog as shown in the mock.
-
Re-release your app to the Apple App Store
We recommend you also re-release your app using 4.7.0 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.
The google-cast-sdk and
google-cast-sdk-no-bluetooth
CocoaPods are available for download.
Use the google-cast-sdk-no-bluetooth
if your app does not require
guest mode or you do not wish to require Bluetooth®
permission.
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, '12.0'
def target_pods
pod 'google-cast-sdk'
end
target 'CastVideos-objc' do
target_pods
end
target 'CastVideos-swift' do
target_pods
end
A continuación, se muestra un ejemplo de cómo agregar el CocoaPod google-cast-sdk-no-bluetooth
a tu Podfile
:
use_frameworks!
platform :ios, '12.0'
def target_pods
pod 'google-cast-sdk-no-bluetooth'
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 a fin de evitar cambios rotundos inesperados, como se detalla en la guía del Podfile.
En este fragmento, se permiten la versión 4.7.0 y las versiones posteriores a la siguiente versión principal (major.minor.patch).
pod 'google-cast-sdk', '~> 4.7.0'
Por ejemplo, “~> 1.6.7” incluiría todas las versiones de 1.6.7 y posteriores, pero no incluye la versión 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 a continuación, sigue los pasos de configuración para agregar el framework a tu proyecto. Los requisitos de configuración son los mismos para XCFrameworks que los frameworks universales heredados.
Se proporcionaron bibliotecas sin modo de invitado para situaciones en las que tu app no requiere la función o si no deseas usar los permisos de Bluetooth®, que se introdujeron en iOS 13. Consulta el documento de cambios de iOS 13 para obtener más información.
Marco de trabajo universal
Bibliotecas del SDK para el remitente de iOS 4.7.0:
Estática con modo de invitado Estática sin modo de invitado
Dinámica con modo de invitado Dinámico sin modo de invitado
XCFramework (beta)
A partir de la versión 4.7.1, el SDK de Cast para iOS es compatible con XCFrameworks, lo que permite el desarrollo en computadoras Apple M1 y la depuración mediante el simulador de iOS de M1.
Estas bibliotecas se encuentran actualmente en versión beta. Informa cualquier problema en la Herramienta de seguimiento de errores del SDK de Cast.
Bibliotecas XCFramework 4.7.1 del SDK de Sender para iOS:
XCFramework estático con modo de invitado XCFramework estático sin modo de invitado
XCFramework dinámico con modo de invitado XCFramework dinámico sin modo de invitado
Pasos para la configuración
Para instalar una de las bibliotecas static, haz lo siguiente:
- Descarga y descomprime el SDK estático correspondiente para tu proyecto.
- Configura la biblioteca de Protobuf con la versión mínima v3.13.
- Si tu proyecto usa CocoaPods, haz lo siguiente:
-
Abre tu
Podfile
y quita elgoogle-cast-sdk
si está presente:pod 'google-cast-sdk'
-
Agrega la biblioteca
Protobuf
si no está presente:pod 'Protobuf', '3.13'
-
Ejecuta
pod install
en la carpeta raíz de tu proyecto. - Si tu proyecto no usa CocoaPods, haz lo siguiente:
-
Quita la versión actual de
GoogleCastSDK
si está presente. - Agrega la biblioteca de Protobuf v3.13 o una versión posterior según las instrucciones que se encuentran en el repositorio de GitHub de Protobuf.
-
Arrastra el
.framework
o.xcframework
descomprimidos a tu proyecto principal en el navegador del proyecto de Xcode (no al proyecto de Pods, si tienes uno). Marque la opción "Copiar todos los elementos si es necesario" y agréguela a todos los destinos. -
En tu proyecto de Xcode, agrega las marcas
-ObjC -lc++
a Build Settings > Other Linker Flags. -
Haz clic con el botón derecho en
GoogleCast.framework
oGoogleCast.xcframework
en tu proyecto y selecciona “Show In Finder”. -
Arrastra los objetos
GoogleCastCoreResources.bundle
yGoogleCastUIResources.bundle
al proyecto junto a los elementosGoogleCast.framework
oGoogleCast.xcframework
que agregaste antes, marca “Copiar todos los elementos si es necesario” y agrégalos a todos los destinos.
Para instalar una de las bibliotecas dinámicas, haz lo siguiente:
- Descarga y descomprime el SDK dinámico adecuado para tu proyecto.
- Configura la biblioteca dinámica del SDK de GoogleCast:
- Si tu proyecto usa CocoaPods, haz lo siguiente:
-
Abre tu
Podfile
y quita lo siguiente:pod 'google-cast-sdk'
-
Ejecuta
pod install
en la carpeta raíz de tu proyecto. - Si tu proyecto no usa CocoaPods, quita la biblioteca actual de Google Cast.
-
Arrastra el
.framework
o.xcframework
descomprimidos a tu proyecto principal en el navegador del proyecto de Xcode (no al proyecto de Pods, si tienes uno). Marque la opción "Copiar todos los elementos si es necesario" y agréguela a todos los destinos. -
En tu destino de Xcode, en la pestaña
General
, seleccionaEmbed and Sign
paraGoogleCast.framework
oGoogleCast.xcframework
.
Configuración de Mac Catalyst
Para 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 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 genera un error de vinculador cuando se compila con el destino de Mac.
Publicar tu app en App Store
Antes de publicar tu app en la App Store, debes ejecutar la secuencia de comandos de shell strip_unused_archs.sh
para quitar las arquitecturas sin usar del paquete de aplicación. Esta secuencia de comandos está en el SDK de Cast para iOS.