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

Il framework Cast supporta iOS 14 e versioni successive ed è disponibile sia in formato statico che dinamico.

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

Configurazione Xcode

iOS 14

  1. Aggiungere l'SDK Cast 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, estrai l'SDK manualmente.

  2. Aggiungi NSBonjourServices a Info.plist

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

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

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

    Aggiorna la definizione di NSBonjourServices di 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 al fine di evitare modifiche di interruzione impreviste, come descritto nella guida dei podfile.

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 e fino alla versione 2.0.0 esclusa.

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 la procedura di configurazione per aggiungere il framework al progetto.

Librerie dell'SDK Cast iOS Sender 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 l'oggetto .xcframework decompresso nel progetto principale nel navigatore dei progetti Xcode (non nel progetto Pod se ne hai uno). 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.xcframework.

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

  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 3.13 o successiva, seguendo le istruzioni presenti nel repository GitHub di Protobuf.
  2. Nel tuo progetto Xcode, aggiungi i flag -ObjC -lc++ a Build Settings > Other Linker Flag.
  3. Individua la cartella Resources nella directory decompressa e trascina GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle e MaterialDialogs.bundle nel tuo progetto accanto al GoogleCast.xcframework che hai 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. Escludi poi in modo condizionale l'SDK Cast dal target Mac come indicato nella documentazione Apple. Le librerie statiche sono precompilate per l'architettura iOS e questo causa un errore del linker durante la creazione nel target Mac.