Einrichtung für die Entwicklung mit dem Cast Application Framework (CAF) für iOS

Das Cast-Framework unterstützt iOS 12 und höher und wird sowohl mit statischen als auch mit dynamischen Frameworks verwendet.

Eine Beschreibung aller Klassen und Methoden finden Sie in der Google Cast iOS API-Referenz.

Beachten Sie, dass Cast-Geräte der neueren Generation den Gastmodus für iOS unterstützen, Geräte von älteren Generationen jedoch nicht. Weitere Informationen finden Sie unter Gastmodus – Unterstützte Übertragungsgeräte.

Xcode-Einrichtung

iOS 14

  1. Cast-iOS SDK 4.7.0 Ihrem Projekt hinzufügen

    Wenn Sie CocoaPods verwenden, fügen Sie dem Projekt das SDK 4.7.0 mit pod update hinzu.

    Andernfalls laden Sie das SDK manuell ein.

  2. NSBonjourServices zu Info.plist hinzufügen

    Geben Sie NSBonjourServices in Ihrer Info.plist an, damit die lokale Netzwerkerkennung unter iOS 14 erfolgreich ausgeführt werden kann.

    Du musst sowohl _googlecast._tcp als auch _<your-app-id>._googlecast._tcp als Dienste hinzufügen, damit die Geräteerkennung ordnungsgemäß funktioniert.

    Die Anwendungs-ID ist deine Empfänger-ID, also die ID, die in deinem GCKDiscoveryCriteria definiert ist.

    Aktualisieren Sie die folgende Beispiel-NSBonjourServices-Definition und ersetzen Sie „&1“ ABCD1234 durch Ihre App-ID.

    <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

Hier ein Beispiel dafür, wie du den CocoaPod google-cast-sdk-no-bluetooth zu Podfile hinzufügen kannst:

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

Für Ihr Projekt sollten Sie einen Bereich für Ihre Pods angeben, um unerwartete funktionsgefährdende Änderungen zu verhindern. Eine Anleitung hierzu finden Sie im Podfile-Leitfaden.

In diesem Snippet sind Version 4.7.0 und die Versionen bis zur nächsten Hauptversion (Major.Minor.Patch) zulässig:

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

Beispielsweise würde '~> 1.6.7' alle Versionen von 1.6.7 bis einschließlich Version 2.0.0 enthalten.

Manuelle Einrichtung

So fügen Sie Ihrem Projekt das Cast iOS SDK hinzu, ohne CocoaPods zu verwenden:

Downloads

Nachdem Sie die entsprechende Bibliothek unten heruntergeladen haben, führen Sie die Einrichtungsschritte aus, um Ihrem Projekt das Framework hinzuzufügen. Die Einrichtungsanforderungen sind für XCFrameworks dieselben wie für die alten Universal Frameworks.

Bibliotheken ohne Gastmodus wurden für Situationen bereitgestellt, in denen Ihre App die Funktion nicht erfordert oder Sie keine Bluetooth®-Berechtigungen benötigen, die in iOS 13 eingeführt wurden. Weitere Informationen finden Sie im Dokument zu Änderungen in iOS 13.

Universelles Framework

Cast Sender SDK 4.7.0-Bibliotheken für iOS:

Statisch mit Gastmodus Statisch ohne Gastmodus

Dynamisch mit Gastmodus Dynamisch ohne Gastmodus

XCFramework (Beta)

Ab Version 4.7.1 unterstützt das Cast iOS SDK XCFrameworks. Dies ermöglicht die Entwicklung auf Apple M1-Computern und die Fehlerbehebung mit dem M1 iOS Simulator.

Diese Bibliotheken befinden sich derzeit in der Betaphase. Bitte melde alle Probleme an die Cast SDK Issue Tracker-Problemverfolgung.

Bibliotheken des XCFramework Version 4.7.1 des Senders SDK von iOS:

Statisches XCFramework mit Gastmodus Static XCFramework ohne Gastmodus

Dynamisches XCFramework mit Gastmodus Dynamisches XCFramework ohne Gastmodus

Einrichtungsschritte

So installieren Sie eine der statischen Bibliotheken:

  1. Laden Sie das entsprechende statische SDK für Ihr Projekt herunter und entpacken Sie es.
  2. Richten Sie die Protobuf-Bibliothek mit der Mindestversion v3.13 ein.
    1. Wenn in Ihrem Projekt CocoaPods verwendet werden:
      1. Öffnen Sie Podfile und entfernen Sie google-cast-sdk, falls vorhanden:
        pod 'google-cast-sdk'
      2. Füge die Protobuf-Bibliothek hinzu, falls sie nicht vorhanden ist:
        pod 'Protobuf', '3.13'
      3. Führen Sie pod install im Stammverzeichnis Ihres Projekts aus.
    2. Wenn Sie CocoaPods nicht in Ihrem Projekt verwenden:
      1. Entferne die aktuelle Version von GoogleCastSDK, falls vorhanden.
      2. Fügen Sie die Protobuf-Bibliothek ab Version 3.13 hinzu. Folgen Sie dazu der Anleitung im GitHub-Repository von Protobuf.
  3. Ziehen Sie die entpackte Datei .framework oder .xcframework im Xcode-Projektnavigationsprogramm in das Hauptprojekt (nicht in das Pod-Projekt, falls vorhanden). Markieren Sie bei Bedarf alle Elemente und fügen Sie sie allen Zielen hinzu.
  4. Fügen Sie in Ihrem Xcode-Projekt die Flags -ObjC -lc++ zu Build Settings > Other Linker Flags hinzu.
  5. Klicken Sie mit der rechten Maustaste auf GoogleCast.framework oder GoogleCast.xcframework in Ihrem Projekt und wählen Sie „In Finder anzeigen“ aus.
  6. Ziehen Sie die GoogleCastCoreResources.bundle und GoogleCastUIResources.bundle in das Projekt neben der zuvor hinzugefügten GoogleCast.framework oder GoogleCast.xcframework und klicken Sie auf „Bei Bedarf alle Elemente kopieren“ & fügen Sie sie allen Zielen hinzu.

So installieren Sie eine der dynamischen Bibliotheken:

  1. Laden Sie das entsprechende dynamische SDK für Ihr Projekt herunter und entpacken Sie es.
  2. Richten Sie die dynamische GoogleCastSDK-Bibliothek ein:
    1. Wenn in Ihrem Projekt CocoaPods verwendet werden:
      1. Öffnen Sie Podfile und entfernen Sie:
        pod 'google-cast-sdk'
      2. Führen Sie pod install im Stammverzeichnis Ihres Projekts aus.
    2. Wenn Sie in Ihrem Projekt keine CocoaPods verwenden, entfernen Sie die aktuelle Google Cast-Bibliothek.
  3. Ziehen Sie die entpackte Datei .framework oder .xcframework im Xcode-Projektnavigationsprogramm in das Hauptprojekt (nicht in das Pod-Projekt, falls vorhanden). Markieren Sie bei Bedarf alle Elemente und fügen Sie sie allen Zielen hinzu.
  4. Wählen Sie im Xcode-Ziel auf dem Tab General die Option Embed and Sign für GoogleCast.framework oder GoogleCast.xcframework aus.

Mac Catalyst einrichten

Verwende für Apps, die Mac Catalyst unterstützen, die dynamische Bibliothek des Cast SDK. Folgen Sie der manuellen Einrichtung, um das Framework in Ihr Projekt aufzunehmen. Schließen Sie dann das Cast SDK wie in der Apple-Dokumentation erwähnt aus dem Mac-Ziel aus. Statische Bibliotheken sind für die iOS-Architektur vorkompiliert. Das führt zu einem Verknüpfungsfehler beim Erstellen für das Mac-Ziel.

App im App Store veröffentlichen

Bevor Sie Ihre App im App Store veröffentlichen, müssen Sie das Shell-Skript strip_unused_archs.sh ausführen, um nicht verwendete Architekturen aus dem App Bundle zu entfernen. Dieses Skript befindet sich im Cast SDK for iOS.