Configuração de desenvolvimento com o Cast Application Framework (CAF) para iOS

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O framework do Google Cast é compatível com o iOS 12 e versões mais recentes e está disponível em frameworks estáticos e dinâmicos.

Consulte a Referência da API Google Cast para iOS para ver descrições de todas as classes e métodos.

Os dispositivos de transmissão da nova geração oferecem suporte ao modo visitante para iOS, mas os dispositivos mais antigos não são. Para ver mais detalhes, consulte Modo visitante: dispositivos de transmissão compatíveis.

Configuração do Xcode

iOS 14

  1. Adicionar o SDK do Cast para iOS 4.7.0 ao seu projeto

    Se estiver usando o CocoaPods, use pod update para adicionar o SDK 4.7.0 ao seu projeto.

    Caso contrário, extraia o SDK manualmente.

  2. Adicionar NSBonjourServices a Info.plist

    Especifique NSBonjourServices no Info.plist para permitir que a descoberta de rede local seja bem-sucedida no iOS 14.

    Você precisará adicionar _googlecast._tcp e _<your-app-id>._googlecast._tcp como serviços para que a descoberta de dispositivos funcione corretamente.

    O appID é seu receiver, que é o mesmo definido no GCKDiscoveryCriteria.

    Atualize a definição do exemplo NSBonjourServices a seguir e substitua "ABCD1234" pelo appID.

    <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.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

Veja um exemplo de como adicionar o google-cast-sdk-no-bluetooth do CocoaPod à 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 seu projeto, especifique um intervalo para os pods para evitar alterações interruptivas inesperadas, conforme detalhado no guia do pod.

Neste snippet, a versão 4.7.0 e as versões posteriores à versão principal (major.minor.patch) são permitidas:

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

Por exemplo, '~> 1.6.7' incluiria todas as versões da 1.6.7 até a versão 2.0.0, mas não incluindo.

Configuração manual

As instruções a seguir são para adicionar o SDK do Cast para iOS ao projeto sem usar o CocoaPods:

Downloads

Depois de fazer o download da biblioteca apropriada abaixo, siga as etapas de configuração para adicionar o framework ao projeto. Os requisitos de configuração são os mesmos do XCFrameworks do Universal Frameworks legado.

Bibliotecas sem modo visitante foram fornecidas para situações em que seu app não exige o recurso ou você não quer solicitar permissões do Bluetooth®, introduzidas no iOS 13. Consulte o documento sobre as mudanças no iOS 13 para mais informações.

Framework universal

Bibliotecas do SDK do remetente do iOS 4.7.0 do Cast:

Estático com o modo visitante Estático sem o modo visitante

Dinâmico com o Modo convidado Dinâmico sem Modo convidado

XCFramework (Beta)

A partir da versão 4.7.1, o SDK do Cast para iOS oferece suporte ao XCFrameworks, permitindo o desenvolvimento em computadores Apple M1 e a depuração usando o simulador de iOS M1.

No momento, essas bibliotecas estão na versão Beta. Informe qualquer problema ao Issue Tracker do SDK do Google Cast.

Bibliotecas XCFramework 4.7.1 do SDK do remetente do iOS do Google Cast:

XCFramework estático com o modo visitante XCFramework estático sem o modo visitante

XCFramework dinâmico com o modo visitante XCFramework dinâmico sem modo visitante

Etapas da configuração

Para instalar uma das bibliotecas estática, siga estas etapas:

  1. Faça o download e descompacte o SDK estático adequado para seu projeto.
  2. Configure a biblioteca Protobuf com a versão mínima v3.13.
    1. Se o projeto usar o CocoaPods:
      1. Abra seu Podfile e remova o google-cast-sdk, se presente:
        pod 'google-cast-sdk'
      2. Adicione a biblioteca Protobuf, se ela não estiver presente:
        pod 'Protobuf', '3.13'
      3. Execute pod install na pasta raiz do projeto.
    2. Se o projeto não estiver usando o CocoaPods:
      1. Remova a versão atual do GoogleCastSDK, se houver.
      2. Adicione a biblioteca Protobuf v3.13 ou mais recente seguindo as instruções encontradas no repositório do Protobuf no GitHub (link em inglês).
  3. Arraste o .framework ou .xcframework descompactado para seu projeto principal no navegador de projetos do Xcode (não para o projeto dos pods, se tiver um). Marque "Copiar todos os itens se necessário" e adicione a todos os destinos.
  4. No seu projeto do Xcode, adicione as sinalizações -ObjC -lc++ a Configurações da versão > Outras sinalizações do vinculador.
  5. Clique com o botão direito do mouse em GoogleCast.framework ou GoogleCast.xcframework no projeto e selecione "Show In Finder".
  6. Arraste GoogleCastCoreResources.bundle e GoogleCastUIResources.bundle para o projeto ao lado do GoogleCast.framework ou GoogleCast.xcframework adicionado anteriormente, marque a opção "Copiar todos os itens, se necessário", e adicione a todos os destinos.

Para instalar uma das bibliotecas dinâmicas:

  1. Faça o download do SDK dinâmico adequado para seu projeto e o descompacte.
  2. Configure a biblioteca dinâmica do GoogleCastSDK:
    1. Se o projeto usar o CocoaPods:
      1. Abra seu Podfile e remova:
        pod 'google-cast-sdk'
      2. Execute pod install na pasta raiz do projeto.
    2. Se o projeto não estiver usando o CocoaPods, remova a biblioteca atual do Google Cast.
  3. Arraste o .framework ou .xcframework descompactado para seu projeto principal no navegador de projetos do Xcode (não para o projeto dos pods, se tiver um). Marque "Copiar todos os itens se necessário" e adicione a todos os destinos.
  4. No destino Xcode, na guia General, selecione Embed and Sign para GoogleCast.framework ou GoogleCast.xcframework.

Configuração do Mac Catalyst

Para apps compatíveis com Mac Catalyst, use a biblioteca dinâmica do SDK do Cast. Siga o processo de configuração manual para adicionar o framework ao seu projeto. Em seguida, exclua condicionalmente o SDK do Cast do destino Mac, conforme mencionado na documentação da Apple. As bibliotecas estáticas são pré-compiladas para a arquitetura do iOS, o que causa um erro do vinculador ao compilar usando o destino Mac.

Como publicar seu aplicativo na App Store

Antes de publicar seu app na App Store, é necessário executar o script de shell strip_unused_archs.sh para remover arquiteturas não usadas do pacote de apps. Esse script está disponível no SDK do Cast para iOS.