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

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

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

Настройка Xcode

iOS14

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

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

    В противном случае загрузите SDK вручную .

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

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

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

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

    Обновите следующий пример определения NSBonjourServices и замените «ABCD1234» на свой appID.

    <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.3.

iOS13

iOS12

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

Кроме того, ваш профиль обеспечения должен поддерживать возможность Access WiFi Information . Это можно добавить на портале разработчиков Apple .

Настройка CocoaPods

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

Чтобы начать работу, следуйте руководству по началу работы .

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

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

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

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

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

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

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

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

Загрузки

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

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

Статика Динамика

Шаги настройки

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

  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 .
  2. В проекте Xcode добавьте флаги -ObjC -lc++ в Параметры сборки > Другие флаги компоновщика .
  3. Найдите папку Resources в разархивированном каталоге и перетащите GoogleCastCoreResources.bundle , GoogleCastUIResources.bundle и MaterialDialogs.bundle в ваш проект рядом с GoogleCast.xcframework , который вы добавили ранее. Отметьте «Копировать все элементы, если необходимо» и добавьте во все цели.

Настройка Mac Catalyst

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