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

Platforma Cast obsługuje system iOS w wersji 15 i nowszej oraz jest dostępna w postaci statycznych i dynamicznych bibliotek.

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

Konfiguracja Xcode

iOS 14

  1. Dodaj do projektu pakiet Cast iOS SDK 4.8.4

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

    W przeciwnym razie, pobierz pakiet SDK ręcznie.

  2. Dodaj NSBonjourServices do pliku Info.plist

    Określ NSBonjourServices w pliku Info.plist, aby umożliwić wykrywanie sieci lokalnej w 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.

    AppID to Twój receiverID, czyli ten sam identyfikator, który jest zdefiniowany w GCKDiscoveryCriteria.

    Zaktualizuj poniższy przykład definicji NSBonjourServices i zastąp "ABCD1234" swoim appID.

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

    Zdecydowanie zalecamy dostosowanie komunikatu wyświetlanego w prośbie o dostęp do sieci lokalnej przez dodanie do pliku aplikacji ciągu uprawnień specyficznych dla aplikacji w przypadku takich jak aby opisać wykrywanie Cast i inne usługi wykrywania, takie jak DIAL.Info.plistNSLocalNetworkUsageDescription

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

    Ten komunikat będzie wyświetlany w oknie dialogowym dostępu do sieci lokalnej w iOS, jak pokazano na makiecie.

    Obraz okna z prośbą o zgodę na dostęp do sieci lokalnej podczas przesyłania
  4. Ponownie opublikuj aplikację w Apple App Store

    Zalecamy jak najszybsze ponowne opublikowanie aplikacji w wersji 4.8.4.

iOS 13

iOS 12

Upewnij się, że przełącznik Access WiFi Information (Dostęp do informacji o Wi-Fi) w sekcji Capabilities (Możliwości) celu jest ustawiony na „On” (Włączone).

Twój profil aprowizacji musi też obsługiwać funkcję Access WiFi Information (Dostęp do informacji o Wi-Fi). Możesz ją dodać w portalu dla deweloperów Apple.

Konfiguracja CocoaPods

Zalecamy integrację Google Cast za pomocą CocoaPods. Do integracji użyj google-cast-sdk CocoaPods.

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

Po skonfigurowaniu CocoaPods postępuj zgodnie z instrukcjami w przewodniku dotyczącym korzystania z CocoaPods, aby utworzyć plik Podfile i przygotować projekt do użycia z pakietem Google Cast SDK.

Oto przykład dodawania CocoaPod google-cast-sdk do pliku Podfile:

use_frameworks!

platform :ios, '15.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 należy określić zakres dla podów, aby zapobiec nieoczekiwanym zmianom powodującym niezgodność, jak opisano w przewodniku po pliku Podfile.

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

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

Na przykład „~> 1.6.7” obejmuje wszystkie wersje od 1.6.7 do 2.0.0, ale nie obejmuje wersji 2.0.0.

Konfiguracja ręczna

Poniższe instrukcje dotyczą dodawania pakietu Cast iOS SDK do projektu bez użycia CocoaPods:

Pobrane

Po pobraniu odpowiedniej biblioteki wykonaj czynności opisane w sekcji Konfiguracja, aby dodać platformę do projektu.

Biblioteki pakietu Cast iOS Sender SDK 4.8.4:

Statyczna Dynamiczna

Instrukcje konfiguracji

Aby zainstalować bibliotekę:

  1. Pobierz i rozpakuj 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 opcję „Copy all items if needed” (Skopiuj wszystkie elementy w razie potrzeby) i dodaj do wszystkich celów.
  4. W celu Xcode na karcie General wybierz Embed and Sign w przypadku GoogleCast.xcframework.

Jeśli konfigurujesz bibliotekę dynamiczną, 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 plik Podfile i usuń google-cast-sdk jeśli jest obecny:
        pod 'google-cast-sdk'
      2. Jeśli biblioteka Protobuf nie jest obecna, dodaj ją:
        pod 'Protobuf', '3.13'
      3. W folderze głównym projektu uruchom polecenie pod install.
    2. Jeśli Twój projekt nie korzysta z CocoaPods:
      1. Usuń bieżącą wersję GoogleCastSDK, jeśli jest obecna.
      2. Dodaj bibliotekę Protobuf w wersji 3.13 lub nowszej, postępując zgodnie z instrukcjami w repozytorium Protobuf GitHub repo.

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

  1. W projekcie Xcode dodaj flagi -ObjC -lc++ do Build Settings > Other Linker Flags.
  2. Znajdź folder Resources w rozpakowanym katalogu i przeciągnij wszystkie pliki .bundle do projektu obok GoogleCast.xcframework dodanego wcześniej. Zaznacz opcję „Copy all items if needed” (Skopiuj wszystkie elementy w razie potrzeby) i dodaj do wszystkich celów.

Konfiguracja Mac Catalyst

W przypadku aplikacji obsługujących Mac Catalyst użyj dynamicznej biblioteki pakietu Cast SDK. Aby dodać platformę do projektu, wykonaj ręczną konfigurację. Następnie warunkowo wyklucz pakiet Cast SDK z celu Mac jak wspomniano w dokumentacji Apple. Biblioteki statyczne są wstępnie skompilowane pod kątem architektury iOS, co powoduje błąd konsolidatora podczas kompilowania pod kątem celu Mac.