Configurazione per lo sviluppo con Cast Application Framework (CAF) per iOS

Il framework Cast supporta iOS 14 e versioni successive ed è disponibile in framework sia statici che dinamici.

Per le descrizioni di tutte le classi e tutti i metodi, consulta la documentazione di riferimento sull'API Google Cast per iOS.

Configurazione Xcode

iOS 14

  1. Aggiungi l'SDK Cast per iOS 4.8.1 al tuo progetto

    Se usi CocoaPods, usa pod update per aggiungere l'SDK 4.8.1 al tuo progetto.

    In caso contrario, esegui il pull dell'SDK manualmente.

  2. Aggiungi NSBonjourServices a Info.plist

    Specifica NSBonjourServices in Info.plist per consentire il rilevamento tramite la rete locale su iOS 14.

    Dovrai aggiungere sia _googlecast._tcp che _<your-app-id>._googlecast._tcp come servizi per far funzionare correttamente il rilevamento dei dispositivi.

    L'appID è il tuo ID ricevitore, che è lo stesso ID definito in GCKDiscoveryCriteria.

    Aggiorna la definizione NSBonjourServices dell'esempio seguente e sostituisci "ABCD1234" con il tuo 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.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

Per il tuo progetto, devi specificare un intervallo per i pod per evitare modifiche impreviste come descritto nella guida ai file pod.

In questo snippet sono consentite la versione 4.8.1 e le versioni fino alla versione principale successiva (major.minor.patch):

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

Ad esempio, "~> 1.6.7" includerà tutte le versioni dalla 1.6.7 fino alla versione 2.0.0 esclusa.

Configurazione manuale

Le seguenti istruzioni ti consentono di aggiungere l'SDK Cast per iOS al tuo progetto senza utilizzare CocoaPods:

Download

Dopo aver scaricato la libreria appropriata di seguito, segui la procedura di configurazione per aggiungere il framework al tuo progetto.

Librerie Cast iOS Sender SDK 4.8.1:

Statico Dinamico

Procedura di configurazione

Per installare la libreria:

  1. Scarica ed estrai l'SDK appropriato per il tuo progetto.
  2. Configura la libreria dinamica GoogleCastSDK:
  3. Trascina il file .xcframework decompresso nel tuo progetto principale nel navigatore di progetti Xcode (non nel progetto Pod, se presente). Seleziona "Copia tutti gli elementi se necessario" e aggiungili a tutti i target.
  4. Nel tuo target Xcode, nella scheda General, seleziona Embed and Sign per GoogleCast.xcframework.

Se stai configurando la libreria statica, oltre a quelli precedenti, segui questi passaggi:

  1. Configura la libreria Protobuf con la versione minima v3.13.
    1. Se il tuo progetto utilizza CocoaPods:
      1. Apri Podfile e rimuovi google-cast-sdk, se presente:
        pod 'google-cast-sdk'
      2. Aggiungi la libreria Protobuf se non presente:
        pod 'Protobuf', '3.13'
      3. Esegui pod install nella cartella principale del progetto.
    2. Se il tuo progetto non utilizza CocoaPods:
      1. Rimuovi la versione corrente di GoogleCastSDK, se presente.
      2. Aggiungi la libreria Protobuf v3.13 o successive, seguendo le istruzioni riportate nel repository GitHub di Protobuf.
  2. Nel tuo progetto Xcode, aggiungi i flag -ObjC -lc++ a Impostazioni build > Altri flag linker.
  3. Individua la cartella Risorse nella directory decompressa e trascina GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle e MaterialDialogs.bundle nel progetto accanto all'elemento GoogleCast.xcframework aggiunto in precedenza. Seleziona "Copia tutti gli elementi se necessario" e aggiungili a tutti i target.

Configurazione di Mac Catalyst

Per le app che supportano Mac Catalyst, utilizza la libreria dinamica dell'SDK Cast. Segui la procedura di configurazione manuale per aggiungere il framework al tuo progetto. Quindi escludi in modo condizionale l'SDK Cast dal target Mac, come indicato nella documentazione di Apple. Le librerie statiche sono precompilate per l'architettura iOS, causando un errore del linker durante la creazione rispetto alla destinazione Mac.