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

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

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

Настройка Xcode

iOS 14

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

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

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

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

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

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

    AppID — это ваш идентификатор получателя, который совпадает с идентификатором, который определен в вашем 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.1.

iOS 13

iOS 12

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

Кроме того, ваш профиль обеспечения должен поддерживать возможность доступа к информации Wi-Fi . Это можно добавить на портале разработчиков 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.1 и версии до следующей основной версии (major.minor.patch):

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

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

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

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

Загрузки

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

Примените библиотеки iOS Sender SDK 4.8.1:

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

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

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

  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.