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

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Il framework Cast supporta iOS 12 e versioni successive ed è disponibile in framework statici e dinamici.

Consulta la documentazione relativa all'API Google Cast per iOS per conoscere le descrizioni di tutti i corsi e i metodi.

Tieni presente che i dispositivi di trasmissione di nuova generazione supportano la modalità ospite per iOS, ma non i dispositivi di generazione precedente. Per maggiori dettagli, consulta la pagina Modalità ospite - Dispositivi di trasmissione supportati.

Configurazione Xcode

iOS 14

  1. Aggiungere l'SDK Cast iOS 4.7.0 al tuo progetto

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

    In caso contrario, esegui l'estrazione manuale dell'SDK.

  2. Aggiungi NSBonjourServices a Info.plist

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

    Devi aggiungere sia _googlecast._tcp sia _<your-app-id>._googlecast._tcp come servizi affinché il rilevamento dei dispositivi funzioni correttamente.

    L'ID app è il parametro receiveadd, che è lo stesso ID definito nel file GCKDiscoveryCriteria.

    Aggiorna la definizione dell'esempio NSBonjourServices 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.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

Ecco un esempio di come aggiungere google-cast-sdk-no-bluetooth CocoaPod a 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

Per il tuo progetto, devi specificare un intervallo per i tuoi pod, per impedire modifiche impreviste che provocano errori, come descritto nella guida ai file pod.

In questo snippet sono consentite la versione 4.7.0 e le versioni successive alla versione principale (major.minor.patch):

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

Ad esempio, "~> 1.6.7" include tutte le versioni dalla 1.6.7 e fino alla versione 2.0.0, esclusa questa.

Configurazione manuale

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

Download

Dopo aver scaricato la libreria appropriata di seguito, segui i passaggi di configurazione per aggiungere il framework al progetto. I requisiti di configurazione sono gli stessi per XCFrameworks dei framework universali di legacy.

Sono state fornite librerie senza la modalità ospite per situazioni in cui la tua app non richiede la funzionalità, oppure non vuoi richiedere le autorizzazioni Bluetooth®, introdotte in iOS 13. Per ulteriori informazioni, consulta il documento sulle modifiche per iOS 13.

Framework universale

Raccolte di Cast SDK SDK 4.7.0 per iOS:

Statico con modalità Ospite Statico senza modalità Ospite

Dinamico con modalità Ospite Dinamico senza modalità Ospite

XCFramework (beta)

A partire dalla versione 4.7.1, l'SDK Cast per iOS supporta XCFrameworks, che consente lo sviluppo su computer Apple M1 e il debug utilizzando il simulatore M1 per iOS.

Queste librerie sono attualmente in versione beta. Segnala eventuali problemi allo strumento Issue Tracker di Google Cast.

Librerie di SDK per mittenti di iOS XCFramework 4.7.1:

XCFramework statico con modalità ospite XCFramework statico senza modalità ospite

XCFramework dinamico con modalità Ospite XCFramework dinamico senza modalità Ospite

Procedura di configurazione

Per installare una delle librerie statiche:

  1. Scarica e decomprimi l'SDK statico appropriato per il tuo progetto.
  2. Configura la libreria Protobuf con la versione minima 3.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 progetto non utilizza CocoaPods:
      1. Rimuovi l'attuale versione di GoogleCastSDK, se presente.
      2. Aggiungi la libreria Protobuf 3.13 o versioni successive, seguendo le istruzioni disponibili nel repository GitHub Protobuf.
  3. Trascina .framework o .xcframework decompresso nel tuo progetto principale nel navigatore dei progetti Xcode (non nel progetto dei pod, se presente). Seleziona "Copia tutti gli elementi se necessario" e aggiungili a tutti i target.
  4. Nel progetto Xcode, aggiungi i flag -ObjC -lc++ a Impostazioni build > Altri flag linker.
  5. Fai clic con il tasto destro del mouse su GoogleCast.framework o GoogleCast.xcframework nel progetto e seleziona "Mostra nel Finder".
  6. Trascina GoogleCastCoreResources.bundle e GoogleCastUIResources.bundle nel progetto accanto a GoogleCast.framework o GoogleCast.xcframework che hai aggiunto in precedenza e seleziona "Copia tutti gli elementi se necessario" e aggiungili a tutti i target.

Per installare una delle librerie dinamici:

  1. Scarica e decomprimi l'SDK dinamico appropriato per il tuo progetto.
  2. Configura la libreria dinamica GoogleCastSDK:
    1. Se il tuo progetto utilizza CocoaPods:
      1. Apri Podfile e rimuovi:
        pod 'google-cast-sdk'
      2. Esegui pod install nella cartella principale del progetto.
    2. Se il progetto non utilizza CocoaPods, rimuovi la libreria Google Cast attuale.
  3. Trascina .framework o .xcframework decompresso nel tuo progetto principale nel navigatore dei progetti Xcode (non nel progetto dei pod, se presente). Seleziona "Copia tutti gli elementi se necessario" e aggiungili a tutti i target.
  4. Nel target Xcode, nella scheda General, seleziona Embed and Sign per GoogleCast.framework o GoogleCast.xcframework.

Configurazione 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 progetto. Escludi in modo condizionale l'SDK Cast dal target per Mac come indicato nella documentazione di Apple. Le librerie statiche sono precompilate per l'architettura iOS e questo causa un errore linker durante la creazione rispetto al target Mac.

Pubblicazione dell'app nell'App Store

Prima di pubblicare l'app nell'App Store, devi eseguire lo script shell strip_unused_archs.sh per eliminare le architetture inutilizzate dall'app bundle. Questo script è disponibile nell'SDK Cast per iOS.