Configuration pour le développement avec le framework d'application Cast (CAF) pour iOS

Le framework Cast est compatible avec iOS 14 et versions ultérieures, et est disponible dans des frameworks statiques et dynamiques.

Consultez la documentation de référence de l'API Google Cast pour iOS pour obtenir la description de toutes les classes et méthodes.

Configuration de Xcode

iOS 14

  1. Ajouter le SDK Cast iOS 4.8.1 à votre projet

    Si vous utilisez CocoaPods, utilisez pod update pour ajouter le SDK 4.8.1 à votre projet.

    Sinon, importez le SDK manuellement.

  2. Ajouter NSBonjourServices à votre Info.plist

    Spécifiez NSBonjourServices dans votre Info.plist pour permettre la découverte du réseau local sur iOS 14.

    Vous devez ajouter _googlecast._tcp et _<your-app-id>._googlecast._tcp comme services pour que la détection d'appareils fonctionne correctement.

    L'appID est votre ID de récepteur, qui est le même que celui défini dans votre GCKDiscoveryCriteria.

    Mettez à jour l'exemple de définition de NSBonjourServices suivant et remplacez "ABCD1234" par votre ID d'application.

    <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

Pour votre projet, vous devez spécifier une plage pour vos pods afin d'éviter les modifications destructives inattendues, comme indiqué dans le guide des fichiers de pods.

Dans cet extrait de code, la version 4.8.1 et les versions antérieures à la version majeure suivante (major.minor.patch) sont autorisées:

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

Par exemple, "~> 1.6.7" inclut toutes les versions à partir de la version 1.6.7, jusqu'à la version 2.0.0 (non comprise).

Configuration manuelle

Les instructions suivantes permettent d'ajouter le SDK iOS Cast à votre projet sans utiliser CocoaPods:

Téléchargements

Après avoir téléchargé la bibliothèque appropriée ci-dessous, suivez la procédure de configuration pour ajouter le framework à votre projet.

Bibliothèques Cast du SDK Sender iOS 4.8.1:

Statique Dynamique

Procédure de configuration

Pour installer la bibliothèque:

  1. Téléchargez et extrayez le SDK approprié pour votre projet.
  2. Configurez la bibliothèque GoogleCastSDK dynamique:
  3. Faites glisser le fichier .xcframework décompressé dans le navigateur de projet Xcode (et non dans le projet de pods, le cas échéant). Cochez l'option "Copy all items if needed" (Copier tous les éléments si nécessaire), puis ajoutez-la à toutes les cibles.
  4. Dans l'onglet General de votre cible Xcode, sélectionnez Embed and Sign pour GoogleCast.xcframework.

Si vous configurez la bibliothèque statique, procédez comme suit, en plus des étapes précédentes:

  1. Configurez la bibliothèque Protobuf avec la version minimale v3.13.
    1. Si votre projet utilise CocoaPods:
      1. Ouvrez votre fichier Podfile et supprimez l'élément google-cast-sdk, le cas échéant :
        pod 'google-cast-sdk'
      2. Ajoutez la bibliothèque Protobuf si elle n'est pas présente :
        pod 'Protobuf', '3.13'
      3. Exécutez pod install dans le dossier racine de votre projet.
    2. Si votre projet n'utilise pas CocoaPods:
      1. Supprimez la version actuelle de GoogleCastSDK, le cas échéant.
      2. Ajoutez la bibliothèque Protobuf v3.13 ou ultérieure en suivant les instructions décrites dans le dépôt GitHub Protobuf.
  2. Dans votre projet Xcode, ajoutez les indicateurs -ObjC -lc++ à Build Settings > Other Linker Flags (Paramètres de compilation > Autres indicateurs Linker).
  3. Recherchez le dossier "Resources" (Ressources) dans le répertoire décompressé, puis faites glisser GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle et MaterialDialogs.bundle dans votre projet, à côté du GoogleCast.xcframework que vous avez ajouté précédemment. Cochez la case "Copy all items if needed" (Copier tous les éléments si nécessaire) et ajoutez-les à toutes les cibles.

Configuration de Mac Catalyst

Pour les applications compatibles avec Mac Catalyst, utilisez la bibliothèque dynamique du SDK Cast. Suivez le processus de configuration manuelle pour ajouter le framework à votre projet. Ensuite, excluez de manière conditionnelle le SDK Cast de la cible Mac, comme indiqué dans la documentation Apple. Les bibliothèques statiques sont précompilées pour l'architecture iOS, ce qui provoque une erreur de l'éditeur de liens lors de la compilation sur la cible Mac.