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

Фреймворк Cast поддерживает iOS 15 и более поздние версии и доступен как в статическом, так и в динамическом вариантах.

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

Настройка Xcode

iOS 14

  1. Добавьте Cast iOS SDK 4.8.4 в свой проект.

    Если вы используете CocoaPods, воспользуйтесь командой pod update , чтобы добавить SDK версии 4.8.4 в свой проект.

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

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

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

    Для корректной работы обнаружения устройств вам потребуется добавить как _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.4.

iOS 13

iOS 12

Убедитесь, что переключатель «Доступ к информации о Wi-Fi» в разделе «Возможности » целевого устройства установлен в положение «Вкл.».

Кроме того, ваш профиль настройки должен поддерживать функцию «Доступ к информации о Wi-Fi» . Это можно добавить на портале разработчиков Apple .

Настройка CocoaPods

Рекомендуемый способ интеграции Google Cast — использование CocoaPods . Для интеграции используйте CocoaPods на google-cast-sdk .

Для начала следуйте инструкциям по началу работы .

После настройки CocoaPods следуйте руководству по использованию CocoaPods , чтобы создать Podfile и подготовить проект к работе с Google Cast SDK.

Вот пример того, как добавить CocoaPod google-cast-sdk в ваш 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

Для вашего проекта следует указать диапазон значений для ваших подов, чтобы предотвратить неожиданные изменения, нарушающие совместимость, как подробно описано в руководстве по podfile .

В этом фрагменте кода разрешена версия 4.8.4 и версии вплоть до следующей основной версии (major.minor.patch):

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

Например, '~> 1.6.7' будет включать все версии от 1.6.7 и выше, но не включая версию 2.0.0.

Ручная настройка

Следующие инструкции предназначены для добавления Cast iOS SDK в ваш проект без использования CocoaPods:

Загрузки

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

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

Статическая динамика

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

Для установки библиотеки:

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

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

  1. Установите библиотеку Protobuf с минимальной версией v3.13.
    1. Если в вашем проекте используются CocoaPods:
      1. Откройте свой Podfile и удалите google-cast-sdk если он присутствует:
        pod 'google-cast-sdk'
      2. Добавьте библиотеку Protobuf , если она отсутствует:
        pod 'Protobuf', '3.13'
      3. Выполните команду pod install в корневой папке вашего проекта.
    2. Если ваш проект не использует CocoaPods:
      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.