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

Das Cast-Framework unterstützt iOS 13 und höher und ist sowohl in statischen als auch als dynamischen Frameworks verfügbar.

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

Xcode-Einrichtung

iOS 14

  1. Fügen Sie Ihrem Projekt das Cast iOS SDK 4.8.0 hinzu.

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

    Alternativ können Sie das SDK manuell abrufen.

  2. NSBonjourServices zu Info.plist hinzufügen

    Gib NSBonjourServices in deinem Info.plist an, damit die lokale Netzwerkerkennung unter iOS 14 erfolgreich ist.

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

    Die appID ist deine ReceiverID. Das ist dieselbe ID, die in GCKDiscoveryCriteria definiert ist.

    Aktualisieren Sie die folgende NSBonjourServices-Beispieldefinition und ersetzen Sie „ABCD1234“ durch Ihre Anwendungs-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.8.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. CocoaPods is supported for both the Universal Framework and XCFramework.

For a Universal Framework integration, use the google-cast-sdk and google-cast-sdk-no-bluetooth CocoaPods.

For an XCFramework integration, use the google-cast-sdk-xcframework and google-cast-sdk-no-bluetooth-xcframework 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, '13.0'

def target_pods
  pod 'google-cast-sdk'
end

target 'CastVideos-objc' do
  target_pods
end
target 'CastVideos-swift' do
  target_pods
end

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

use_frameworks!

platform :ios, '13.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 Änderungen zu verhindern, wie in der Anleitung zu Pods beschrieben.

In diesem Snippet sind Version 4.8.0 und die Versionen bis zur nächsten Hauptversion (major.minor.patch) zulässig:

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

Beispielsweise würde „~> 1.6.7“ alle Versionen von 1.6.7 bis, jedoch nicht einschließlich, Version 2.0.0, umfassen.

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 für XCFrameworks sind dieselben wie für das alte Universal Frameworks-Framework.

Universelles Framework

Cast-Bibliotheken für iOS Sender SDK 4.8.0:

Statisch mit Bluetooth Statisch ohne Bluetooth

Dynamisch mit Bluetooth Dynamisch ohne Bluetooth

XCFramework

Das Cast iOS SDK unterstützt XCFrameworks. Dies ermöglicht die Entwicklung auf Mac-Computern mit Apple Silicon sowie die Fehlerbehebung mit dem iOS-Simulator.

Bibliotheken des iOS Sender SDK XCFramework 4.8.0 übertragen:

Statisches XCFramework mit Bluetooth Statisches XCFramework ohne Bluetooth

Dynamic XCFramework mit Bluetooth Dynamic XCFramework ohne Bluetooth

Einrichtungsschritte

So installieren Sie eine der static-Bibliotheken:

  1. Laden Sie das geeignete statische SDK für Ihr Projekt herunter und entpacken Sie es.
  2. Richten Sie die Protobuf-Bibliothek mit der Mindestversion 3.13 ein.
    1. Wenn in Ihrem Projekt CocoaPods verwendet werden:
      1. Öffne Podfile und entferne das google-cast-sdk, sofern 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 CocoaPods nicht verwendet werden:
      1. Entfernen Sie die aktuelle Version von GoogleCastSDK, sofern vorhanden.
      2. Fügen Sie die Protobuf-Bibliothek Version 3.13 oder höher hinzu. Folgen Sie dazu der Anleitung im Protobuf-GitHub-Repository.
  3. Ziehen Sie das entpackte .framework oder .xcframework in Ihr Hauptprojekt in der Xcode-Projektnavigation (nicht in das Pod-Projekt, falls vorhanden). Aktivieren Sie die Option „Bei Bedarf alle Elemente kopieren“ und fügen Sie sie allen Zielen hinzu.
  4. Fügen Sie in Ihrem Xcode-Projekt unter Build-Einstellungen > Andere Verknüpfungs-Flags die Flags -ObjC -lc++ hinzu.
  5. Klicke mit der rechten Maustaste auf GoogleCast.framework oder GoogleCast.xcframework in deinem Projekt und wähle „Im Finder anzeigen“ aus.
  6. Ziehen Sie GoogleCastCoreResources.bundle und GoogleCastUIResources.bundle in Ihr Projekt neben den zuvor hinzugefügten GoogleCast.framework oder GoogleCast.xcframework, aktivieren Sie „Bei Bedarf alle Elemente kopieren“ und fügen Sie sie allen Zielen hinzu.

So installieren Sie eine der dynamischen Bibliotheken:

  1. Laden Sie das passende 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. Öffne dein Podfile und entferne Folgendes:
        pod 'google-cast-sdk'
      2. Führen Sie pod install im Stammverzeichnis Ihres Projekts aus.
    2. Wenn CocoaPods in deinem Projekt nicht verwendet werden, entferne die aktuelle Google Cast-Mediathek.
  3. Ziehen Sie das entpackte .framework oder .xcframework in Ihr Hauptprojekt in der Xcode-Projektnavigation (nicht in das Pod-Projekt, falls vorhanden). Aktivieren Sie die Option „Bei Bedarf alle Elemente kopieren“ und fügen Sie sie allen Zielen hinzu.
  4. Wählen Sie in Ihrem Xcode-Ziel auf dem Tab General die Option Embed and Sign für GoogleCast.framework oder GoogleCast.xcframework aus.

Mac Catalyst-Einrichtung

Verwende für Apps, die Mac Catalyst unterstützen, die dynamische Bibliothek des Cast SDK. Folgen Sie der manuellen Einrichtung, um Ihrem Projekt das Framework hinzuzufügen. Schließen Sie dann das Cast SDK bedingt aus dem Mac-Ziel aus, wie in der Apple-Dokumentation beschrieben. Statische Bibliotheken werden für die iOS-Architektur vorkompiliert, was beim Erstellen für das Mac-Ziel zu einem Verknüpfungsfehler führt.

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.