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

Platforma Cast obsługuje iOS 14 i nowsze wersje. Jest dostępna w postaci statycznej i dynamicznej.

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

Konfiguracja Xcode

iOS 14

  1. Dodawanie pakietu Cast iOS SDK 4.8.3 do projektu

    Jeśli używasz CocoaPods, dodaj pakiet SDK w wersji 4.8.3 do projektu za pomocą polecenia pod update.

    W przeciwnym razie: ręcznie pobierz pakiet SDK.

  2. Dodawanie NSBonjourServices do Info.plist

    Info.plist określ NSBonjourServices, aby umożliwić wykrywanie sieci lokalnej w systemie iOS 14.

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

    Identyfikator aplikacji to identyfikator odbiornika, czyli ten sam identyfikator, który jest zdefiniowany w GCKDiscoveryCriteria.

    Zaktualizuj tę definicję NSBonjourServices i zastąp „ABCD1234” identyfikatorem aplikacji.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Dodaj NSLocalNetworkUsageDescription do Info.plist

    Zdecydowanie zalecamy dostosowanie wiadomości wyświetlanej w prośbie o zezwolenie na dostęp do sieci lokalnej przez dodanie w pliku Info.plist aplikacji ciągu znaków uprawnień specyficznych dla aplikacji w celu opisania np. wykrywania Cast i innych usług wykrywania, takich jak DIAL.NSLocalNetworkUsageDescription

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

    Ten komunikat pojawi się w oknie dostępu do sieci lokalnej w iOS, jak pokazano na ilustracji.

    Obraz okna uprawnień dostępu do sieci lokalnej w przypadku przesyłania
  4. Ponowne opublikowanie aplikacji w Apple App Store

    Zalecamy jak najszybsze ponowne opublikowanie aplikacji z użyciem wersji 4.8.3.

iOS 13

iOS 12

Upewnij się, że przełącznik Dostęp do informacji o Wi-Fi w sekcji Możliwości urządzenia docelowego jest ustawiony na „Włączony”.

Profil administracyjny musi też obsługiwać funkcję Access WiFi Information (Dostęp do informacji o Wi-Fi). Możesz go dodać w portalu Apple Developer.

Konfiguracja CocoaPods

Zalecany sposób integracji Google Cast to użycie CocoaPods. Do integracji użyj CocoaPods google-cast-sdk.

Aby rozpocząć, zapoznaj się z przewodnikiem dla początkujących.

Po skonfigurowaniu CocoaPods postępuj zgodnie z instrukcjami w tym przewodniku, aby utworzyć Podfile i przygotować projekt do używania z pakietem Google Cast SDK.

Oto przykład dodawania google-cast-sdk CocoaPod do pliku 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 przypadku projektu określ zakres dla podów, aby zapobiec nieoczekiwanym zmianom powodującym niezgodność, zgodnie z opisem w przewodniku po pliku Podfile.

W tym fragmencie kodu dozwolone są wersja 4.8.3 i wersje do kolejnej wersji głównej (główna.podrzędna.poprawka):

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

Na przykład „~> 1.6.7” obejmuje wszystkie wersje od 1.6.7 do 2.0.0 (bez wersji 2.0.0).

Konfiguracja ręczna

Poniższe instrukcje pokazują, jak dodać pakiet Cast iOS SDK do projektu bez użycia CocoaPods:

Pobrane

Po pobraniu odpowiedniej biblioteki wykonaj kroki konfiguracji, aby dodać platformę do projektu.

Biblioteki pakietu Cast iOS Sender SDK 4.8.3:

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 projektu Xcode (nie do projektu Pods, jeśli go masz). Zaznacz „Copy all items if needed” (W razie potrzeby skopiuj wszystkie elementy) i dodaj do wszystkich miejsc docelowych.
  4. W 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 korzysta z CocoaPods:
      1. Otwórz Podfile i usuń google-cast-sdk, jeśli występuje:
        pod 'google-cast-sdk'
      2. Dodaj bibliotekę Protobuf, jeśli nie jest obecna:
        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ę GoogleCastSDK, jeśli jest zainstalowana.
      2. Dodaj bibliotekę Protobuf w wersji 3.13 lub nowszej, postępując zgodnie z instrukcjami w repozytorium Protobuf na GitHubie.
  2. W projekcie Xcode dodaj flagi -ObjC -lc++ do Ustawień kompilacji > Inne flagi linkera.
  3. W rozpakowanym katalogu znajdź folder Resources i przeciągnij pliki GoogleCastCoreResources.bundle, GoogleCastUIResources.bundleMaterialDialogs.bundle do projektu obok dodanego wcześniej pliku GoogleCast.xcframework. Zaznacz „W razie potrzeby skopiuj wszystkie elementy” i dodaj do wszystkich miejsc docelowych.

Konfiguracja Mac Catalyst

W przypadku aplikacji obsługujących Mac Catalyst używaj biblioteki dynamicznej pakietu Cast SDK. Aby dodać platformę do projektu, postępuj zgodnie z instrukcjami konfiguracji ręcznej. Następnie warunkowo wyklucz pakiet Cast SDK z elementu docelowego Mac, jak wspomniano w dokumentacji Apple. Biblioteki statyczne są wstępnie skompilowane pod kątem architektury iOS, co powoduje błąd linkera podczas kompilowania pod kątem Maca.