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

Le framework Cast est compatible avec iOS 14 et les versions ultérieures, et se présente sous la forme de 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.3 à votre projet

    Si vous utilisez CocoaPods, ajoutez le SDK 4.8.3 à votre projet à l'aide de pod update.

    Sinon, récupérez le SDK manuellement.

  2. Ajoutez NSBonjourServices à votre Info.plist

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

    Vous devrez ajouter _googlecast._tcp et _<your-app-id>._googlecast._tcp en tant que services pour que la découverte des appareils fonctionne correctement.

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

    Mettez à jour la définition de l'exemple NSBonjourServices et remplacez "ABCD1234" par votre appID.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Ajoutez NSLocalNetworkUsageDescription à votre Info.plist

    Nous vous recommandons vivement de personnaliser le message affiché dans l'invite du réseau local en ajoutant une chaîne d'autorisation spécifique à l'application dans le fichier Info.plist de votre application pour NSLocalNetworkUsageDescription, par exemple pour décrire la découverte Cast et d'autres services de découverte, comme DIAL.

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

    Ce message s'affichera dans la boîte de dialogue d'accès au réseau local d'iOS, comme indiqué dans la maquette.

    Image de la boîte de dialogue des autorisations d&#39;accès au réseau local pour caster du contenu
  4. Publier à nouveau votre application sur l'App Store d'Apple

    Nous vous recommandons également de republier votre application en utilisant la version 4.8.3 dès que possible.

iOS 13

iOS 12

Assurez-vous que le bouton Accéder aux informations Wi-Fi dans la section Fonctionnalités de la cible est défini sur "Activé".

De plus, votre profil de provisionnement devra être compatible avec la fonctionnalité Accéder aux informations Wi-Fi. Vous pouvez l'ajouter dans le portail des développeurs Apple.

Configuration de CocoaPods

La méthode recommandée pour intégrer Google Cast consiste à utiliser CocoaPods. Pour l'intégration, utilisez google-cast-sdk CocoaPods.

Pour commencer, suivez le guide de démarrage.

Une fois CocoaPods configuré, suivez le guide d'utilisation de CocoaPods pour créer votre Podfile et préparer votre projet à l'utilisation du SDK Google Cast.

Voici un exemple d'ajout du CocoaPod google-cast-sdk à votre 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 incompatibles inattendues, comme indiqué dans le guide du fichier Podfile.

Dans cet extrait, la version 4.8.3 et les versions jusqu'à la prochaine version majeure (majeure.mineure.correctif) sont autorisées :

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

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

Configuration manuelle

Les instructions suivantes vous expliquent comment ajouter le SDK Cast iOS à votre projet sans utiliser CocoaPods :

Téléchargements

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

Bibliothèques du SDK Cast pour iOS 4.8.3 :

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 dynamique GoogleCastSDK :
  3. Faites glisser le fichier .xcframework décompressé dans votre projet principal dans le navigateur de projet Xcode (et non dans le projet Pods, le cas échéant). Cochez "Copier tous les éléments si nécessaire" et ajoutez-les à toutes les cibles.
  4. Dans votre cible Xcode, sous l'onglet General, sélectionnez Embed and Sign pour GoogleCast.xcframework.

Si vous configurez la bibliothèque statique, suivez ces étapes en plus des précédentes :

  1. Configurez la bibliothèque Protobuf avec la version minimale 3.13.
    1. Si votre projet utilise CocoaPods :
      1. Ouvrez votre Podfile et supprimez google-cast-sdk si elle est présente :
        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 version ultérieure en suivant les instructions disponibles sur 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" dans le répertoire décompressé, puis faites glisser GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle et MaterialDialogs.bundle dans votre projet, à côté de GoogleCast.xcframework que vous avez ajouté précédemment. Cochez "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 la procédure de configuration manuelle pour ajouter le framework à votre projet. Ensuite, excluez conditionnellement 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 entraîne une erreur de l'éditeur de liens lors de la compilation par rapport à la cible Mac.