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

Das Cast-Framework unterstützt iOS 12 und höher sowie ein statisches und ein dynamisches Framework.

In der API-Referenz für die Google Cast iOS App finden Sie Beschreibungen aller Klassen und Methoden.

Beachten Sie, dass Cast-Geräte neuerer 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 Ihrem Projekt mit pod update das 4.7.0 SDK hinzu.

    Andernfalls können Sie das SDK manuell einfügen.

  2. NSBonjourServices zu Info.plist hinzufügen

    Geben Sie NSBonjourServices in Ihrer Info.plist an, damit die Erkennung des lokalen Netzwerks unter iOS 14 erfolgreich ist.

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

    Die appID ist deine Receiver-ID, also die ID, die in deinem GCKDiscoveryCriteria definiert ist.

    Aktualisieren Sie die folgende NSBonjourServices-Beispieldefinition und ersetzen Sie „ABCD1234“ durch Ihre 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

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

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

Geben Sie für Ihr Projekt einen Bereich für Ihre Pods an, um unerwartete funktionsgefährdende Änderungen zu verhindern. Weitere Informationen 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'

„~> 1.6.7“ würde beispielsweise alle Versionen ab 1.6.7 bis einschließlich, aber nicht einschließlich, Version 2.0.0 enthalten.

Manuelle Einrichtung

Mit den folgenden Anleitungen fügen Sie das Cast iOS SDK Ihrem Projekt hinzu, ohne CocoaPods zu verwenden:

Downloads

Nachdem Sie die entsprechende Bibliothek unten heruntergeladen haben, folgen Sie den Einrichtungsschritten, um das Framework Ihrem Projekt hinzuzufügen. Die Anforderungen für die Einrichtung gelten für XCFrameworks.

Bibliotheken ohne Gastmodus wurden für Situationen zur Verfügung gestellt, in denen Ihre App die Funktion nicht benötigt oder Sie keine Bluetooth®-Berechtigungen benötigen. Diese wurden unter iOS 13 eingeführt. Weitere Informationen finden Sie im Dokument zu den Änderungen von iOS 13.

Universelles Framework

iOS Sender SDK 4.7.0-Bibliotheken:

Mit dem Gastmodus statisch Ohne Gastmodus statisch

Dynamisch mit Gastmodus Dynamisch ohne Gastmodus

XCFramework (Beta)

Ab Version 4.7.1 unterstützt das Cast iOS SDK XCFrameworks. Damit ist die Entwicklung auf Apple M1-Computern und die Fehlerbehebung mit dem M1 iOS Simulator möglich.

Diese Bibliotheken befinden sich derzeit in der Betaphase. Bitte melde Probleme dem Cast SDK Issue Tracker.

XCFramework 4.7.1-Bibliotheken für das iOS Sender SDK von Cast:

Statisches XCFramework mit Gastmodus Statisches 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 die Datei Podfile und entfernen Sie sie google-cast-sdk, falls vorhanden:
        pod 'google-cast-sdk'
      2. Fügen Sie die Protobuf-Bibliothek hinzu, falls nicht vorhanden:
        pod 'Protobuf', '3.13'
      3. Führen Sie pod install im Stammverzeichnis Ihres Projekts aus.
    2. Wenn in Ihrem Projekt keine CocoaPods verwendet werden:
      1. Entferne die aktuelle Version von GoogleCastSDK, falls vorhanden.
      2. Fügen Sie die Protobuf-Bibliothek (Version 3.13 oder höher) gemäß der Anleitung im GitHub-Repository Protobuf hinzu.
  3. Ziehen Sie die entpackten .framework- oder .xcframework-Dateien in das Xcode-Projektnavigation in Ihr Hauptprojekt (nicht in das Pod-Projekt, falls Sie eines haben). Setzen Sie ein Häkchen bei „Bei Bedarf alle Elemente kopieren“ 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 GoogleCastCoreResources.bundle und GoogleCastUIResources.bundle in das Projekt neben der zuvor hinzugefügten GoogleCast.framework oder GoogleCast.xcframework und klicken Sie das Kästchen „Alle Elemente kopieren (falls erforderlich)“ an und 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. So richten Sie die dynamische GoogleCastSDK-Bibliothek ein:
    1. Wenn in Ihrem Projekt CocoaPods verwendet werden:
      1. Öffnen Sie die Datei Podfile und entfernen Sie:
        pod 'google-cast-sdk'
      2. Führen Sie pod install im Stammverzeichnis Ihres Projekts aus.
    2. Wenn in Ihrem Projekt keine CocoaPods verwendet werden, entfernen Sie die aktuelle Google Cast-Bibliothek.
  3. Ziehen Sie die entpackten .framework- oder .xcframework-Dateien in das Xcode-Projektnavigation in Ihr Hauptprojekt (nicht in das Pod-Projekt, falls Sie eines haben). Setzen Sie ein Häkchen bei „Bei Bedarf alle Elemente kopieren“ 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.

Einrichtung des Mac Catalyst

Verwenden Sie für Apps, die Mac Catalyst unterstützen, die dynamische Bibliothek des Cast SDK. Folgen Sie dem manuellen Einrichtungsvorgang, um das Framework zu Ihrem Projekt hinzuzufügen. Schließen Sie dann das Cast SDK vom Mac-Ziel bedingt aus, wie in der Apple-Dokumentation erwähnt. Statische Bibliotheken sind für die iOS-Architektur vorkompiliert. Das führt zu einem Verknüpfungsfehler, wenn Builds auf dem Mac-Ziel ausgeführt werden.

App im App Store veröffentlichen

Vor der Veröffentlichung Ihrer App im App Store müssen Sie ein 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.