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

Platforma Cast obsługuje iOS 14 i nowsze wersje oraz występują w postaci statycznych i dynamicznych platform.

Opis 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 używasz CocoaPods, użyj pod update, aby dodać do projektu pakiet SDK 4.8.1.

    W przeciwnym razie pobierz pakiet SDK ręcznie.

  2. Dodaj NSBonjourServices do urządzenia Info.plist

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

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

    Identyfikator appID to Twój identyfikator odbiorcy, czyli ten sam identyfikator zdefiniowany w GCKDiscoveryCriteria.

    Zaktualizuj definicję przykładu NSBonjourServices i zastąp „ABCD1234” swoim identyfikatorem aplikacji.

    <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 niezgodność. Szczegółowe informacje znajdziesz w przewodniku po plikach podów.

W tym fragmencie kodu dozwolone są wersje 4.8.1 i wersje do następnej wersji głównej (główna.wersja główna).

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

Na przykład ciąg „~> 1.6.7” obejmuje wszystkie wersje od 1.6.7 do 2.0.0, ale niekoniecznie.

Konfiguracja ręczna

Aby dodać pakiet SDK Cast na iOS do projektu bez korzystania z CocoaPods, wykonaj te czynności:

Pliki do pobrania

Po pobraniu odpowiedniej biblioteki poniżej wykonaj czynności konfiguracyjne, aby dodać platformę do projektu.

Biblioteki Cast iOS Sender SDK 4.8.1:

Statyczny Dynamiczny

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 Pods, jeśli go masz). Zaznacz pole wyboru „Skopiuj wszystkie elementy w razie potrzeby” i dodaj je do wszystkich elementów docelowych.
  4. W środowisku 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 w minimalnej wersji 3.13.
    1. Jeśli Twój projekt używa CocoaPods:
      1. Otwórz Podfile i usuń google-cast-sdk, jeśli istnieje:
        pod 'google-cast-sdk'
      2. Dodaj bibliotekę Protobuf, jeśli jej nie ma:
        pod 'Protobuf', '3.13'
      3. Uruchom plik 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 znajdującymi się w repozytorium Protobuf GitHub.
  2. W projekcie Xcode dodaj flagi -ObjC -lc++ do sekcji Ustawienia kompilacji > Inne flagi łączące.
  3. Znajdź folder Zasoby w rozpakowanym katalogu i przeciągnij GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle i MaterialDialogs.bundle do swojego projektu obok dodanego wcześniej elementu GoogleCast.xcframework. Zaznacz „Skopiuj wszystkie elementy w razie potrzeby” i dodaj je do wszystkich elementów docelowych.

Konfiguracja Mac Catalyst

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