Przygotowanie do programowania za pomocą platformy Cast Application Framework (CAF) na iOS

Platforma Cast obsługuje iOS 14 i nowsze wersje oraz jest dostępna zarówno na platformach statycznych, jak i dynamicznych.

Opisy wszystkich klas i metod znajdziesz w dokumentacji interfejsu Google Cast iOS API.

Konfiguracja Xcode

iOS 14

  1. Dodawanie do projektu pakietu SDK Cast na iOS 4.8.1

    Jeśli korzystasz z CocoaPods, dodaj do projektu pakiet SDK 4.8.1 za pomocą pod update.

    W przeciwnym razie ręcznie pobierz pakiet SDK.

  2. Dodaj: NSBonjourServices do: Info.plist

    Aby umożliwić wykrywanie sieci lokalnej w iOS 14, podaj NSBonjourServices w Info.plist.

    Aby wykrywanie urządzeń działało prawidłowo, musisz dodać jako usługi zarówno _googlecast._tcp, jak i _<your-app-id>._googlecast._tcp.

    Identyfikator appID to Twój identyfikator odbiorcy, czyli taki sam identyfikator, który jest zdefiniowany w zasadzie GCKDiscoveryCriteria.

    Zaktualizuj definicję w przykładzie NSBonjourServices i zastąp „ABCD1234” swoim identyfikatorem 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.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

W swoim projekcie określ zakres podów, aby zapobiec nieoczekiwanym zmianom powodującym uszkodzenie, jak opisano w przewodniku po plikach podfile.

W tym fragmencie kodu dozwolone są wersje 4.8.1 i wersje aż do następnej wersji głównej (major.minor.patch):

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

Na przykład „~> 1.6.7” będzie uwzględniać wszystkie wersje od 1.6.7 do 2.0.0 włącznie.

Konfiguracja ręczna

Aby dodać do projektu pakiet SDK Cast na iOS bez użycia CocoaPods:

Pliki do pobrania

Po pobraniu odpowiedniej biblioteki postępuj zgodnie z instrukcjami konfiguracji, aby dodać platformę do projektu.

Biblioteki pakietu SDK Cast SDK 4.8.1 do przesyłania na iOS:

Statyczne Dynamiczne

Instrukcje konfiguracji

Aby zainstalować bibliotekę:

  1. Pobierz i wyodrębnij odpowiedni pakiet SDK dla swojego projektu.
  2. Skonfiguruj dynamiczną bibliotekę GoogleCastSDK:
  3. Przeciągnij rozpakowany plik .xcframework do głównego projektu w nawigatorze projektów Xcode (nie do projektu podów, jeśli taki masz). Zaznacz opcję „W razie potrzeby skopiuj wszystkie elementy” i dodaj ją do wszystkich elementów docelowych.
  4. W miejscu docelowym Xcode na karcie General wybierz Embed and Sign dla GoogleCast.xcframework.

Jeśli konfigurujesz bibliotekę statyczną, oprócz poprzednich kroków wykonaj te czynności:

  1. Skonfiguruj bibliotekę Protobuf z minimalną wersją 3.13.
    1. Jeśli Twój projekt używa CocoaPods:
      1. Otwórz Podfile i usuń google-cast-sdk, jeśli jest widoczny:
        pod 'google-cast-sdk'
      2. Dodaj bibliotekę Protobuf, jeśli nie ma jej:
        pod 'Protobuf', '3.13'
      3. Uruchom pod install w folderze głównym projektu.
    2. Jeśli Twój projekt nie korzysta z CocoaPods:
      1. Usuń bieżącą wersję pakietu GoogleCastSDK, jeśli jest dostępna.
      2. Dodaj bibliotekę Protobuf w wersji 3.13 lub nowszej, postępując zgodnie z instrukcjami zawartymi w repozytorium Protobuf GitHub.
  2. W projekcie Xcode dodaj flagi -ObjC -lc++ do sekcji Ustawienia kompilacji > Inne flagi łączące.
  3. Znajdź w rozpakowanym katalogu folder Zasoby i przeciągnij GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle oraz MaterialDialogs.bundle do swojego projektu obok dodanego wcześniej zasobu GoogleCast.xcframework. Zaznacz opcję „W razie potrzeby skopiuj wszystkie elementy” i dodaj ją do wszystkich celów.

Konfiguracja Mac Catalyst

W przypadku aplikacji obsługujących Mac Catalyst użyj biblioteki dynamicznej z pakietu Cast SDK. Wykonaj ręczną konfigurację, aby dodać platformę do projektu. Następnie warunkowo wyklucz pakiet SDK Cast z docelowego komputera Mac zgodnie z opisem w dokumentacji Apple. Biblioteki statyczne są wstępnie skompilowane pod kątem architektury iOS, co powoduje błąd tagu łączącego podczas kompilacji na podstawie środowiska docelowego Mac.