Настройка для разработки с помощью Cast Application Framework (CAF) для iOS

Платформа Cast поддерживает iOS 16 и более поздние версии и поставляется в виде статических и динамических фреймворков.

Описание всех классов и методов можно найти в справочнике по Google Cast iOS API.

Настройка Xcode

  1. Как добавить Cast iOS SDK 4.8.6 в проект

    Если вы используете Swift Package Manager, обновите пакет google-cast-ios-sdk до версии 4.8.6.

    В противном случае добавьте SDK вручную.

  2. Добавьте NSBonjourServices в Info.plist

    Укажите NSBonjourServices в Info.plist, чтобы разрешить обнаружение локальной сети.

    Чтобы обнаружение устройств работало правильно, вам нужно добавить в качестве сервисов _googlecast._tcp и _<your-app-id>._googlecast._tcp.

    appID – это receiverID, который совпадает с идентификатором, заданным в GCKDiscoveryCriteria.

    Измените определение NSBonjourServices в следующем примере и замените "ABCD1234" на идентификатор своего приложения.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Добавьте NSLocalNetworkUsageDescription в Info.plist

    Мы настоятельно рекомендуем добавить в файл Info.plist приложения строку с разрешением для NSLocalNetworkUsageDescription, чтобы настроить сообщение, которое показывается в запросе доступа к местной сети. Например, можно добавить описание обнаружения Cast и других сервисов обнаружения, таких как DIAL.

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

    Это сообщение будет показываться в диалоговом окне доступа к локальной сети в iOS, как показано на макете.

    Изображение диалогового окна с разрешениями на доступ к локальной сети при трансляции
  4. Повторно опубликуйте приложение в Apple App Store

    Мы рекомендуем как можно скорее повторно опубликовать приложение, используя версию 4.8.6.

Настройка Swift Package Manager

Рекомендуемый способ интеграции Google Cast – с помощью Swift Package Manager (SPM). Пакет Cast iOS SDK доступен в репозитории GitHub google-cast-ios-sdk.

Чтобы добавить Cast iOS SDK в проект Xcode:

  1. В Xcode выберите File (Файл) > Add Packages (Добавить пакеты).
  2. Введите URL хранилища:https://github.com/googlecast/google-cast-ios-sdk.
  3. Выберите правила управления версиями. Например, выберите До следующей основной версии с минимальной версией 4.8.6, чтобы получать совместимые обновления без неожиданных критических изменений.
  4. Нажмите Добавить пакет.
  5. Выберите продукт GoogleCastDynamic или GoogleCastStatic и добавьте его в целевое приложение.

Как выбрать вариант фреймворка

Пакет Cast iOS SDK включает два продукта:

  • GoogleCastDynamic – динамический фреймворк. Он включает все ресурсы, необходимые для компонентов интерфейса Cast, и не требует дополнительных флагов компоновщика. Приложения, поддерживающие Mac Catalyst, должны использовать динамический фреймворк. Подробнее о настройке Mac Catalyst…
  • GoogleCastStatic – статический фреймворк. Для этого требуются дополнительные настройки, описанные в разделе Настройка статического фреймворка.

Настройка статического фреймворка

Статические фреймворки не могут содержать пакеты ресурсов. В результате Swift Package Manager не может автоматически объединить ресурсы, необходимые для компонентов интерфейса Cast (например, изображения, раскадровки и файлы локализации), с продуктом GoogleCastStatic. Если вы добавите GoogleCastStatic в целевой объект, выполните следующие действия:

  1. В проекте Xcode добавьте флаги -ObjC -lc++ в раздел Build Settings (Настройки сборки) > Other Linker Flags (Другие флаги компоновщика).
  2. Если в вашем приложении используются компоненты интерфейса Cast, вручную добавьте пакеты ресурсов в проект:
    1. Скачайте статическую библиотеку из раздела Скачанные файлы. Убедитесь, что версия статической библиотеки соответствует версии добавленного пакета.
    2. Найдите папку Resources в распакованном каталоге и перетащите все файлы .bundle в проект Xcode. Установите флажок "Копировать все объекты, если необходимо" и добавьте все целевые значения.

Настройка CocoaPods

Настройка вручную

Ниже приведены инструкции по добавлению Cast iOS SDK в проект без использования Swift Package Manager:

Скачивания

После того как вы скачаете нужную библиотеку, выполните инструкции по настройке, чтобы добавить фреймворк в свой проект.

Библиотеки Cast iOS Sender SDK 4.8.6:

Статический Динамический

Этапы настройки

Чтобы установить библиотеку:

  1. Скачайте и извлеките подходящий SDK для вашего проекта.
  2. Настройте динамическую библиотеку GoogleCastSDK:
  3. Перетащите распакованный файл .xcframework в основной проект в навигаторе проектов Xcode. Установите флажок "Копировать все элементы, если необходимо" и добавьте все целевые значения.
  4. В целевом проекте Xcode на вкладке General выберите Embed and Sign для GoogleCast.xcframework.

Если вы настраиваете динамическую библиотеку, выполните следующие действия в дополнение к описанным выше:

  1. Удалите текущую версию GoogleCastSDK, если она установлена.
  2. Добавьте библиотеку Protobuf версии 3.13 или более поздней, следуя инструкциям в репозитории Protobuf на GitHub.

Если вы настраиваете статическую библиотеку, выполните следующие действия в дополнение к описанным выше:

  1. В проекте Xcode добавьте флаги -ObjC -lc++ в раздел Build Settings (Настройки сборки) > Other Linker Flags (Другие флаги компоновщика).
  2. Найдите папку Resources в распакованном каталоге и перетащите все файлы .bundle в свой проект рядом с файлом GoogleCast.xcframework, который вы добавили ранее. Установите флажок "Копировать все элементы, если необходимо" и добавьте все целевые значения.

Настройка Mac Catalyst

Для приложений, поддерживающих Mac Catalyst, используйте динамическую библиотеку Cast SDK. Чтобы добавить фреймворк в проект, следуйте инструкциям по настройке вручную. Затем условно исключите Cast SDK из целевой платформы Mac, как описано в документации Apple. Статические библиотеки предварительно компилируются для архитектуры iOS, что приводит к ошибке компоновщика при сборке для целевой платформы Mac.