Настройка для разработки с использованием 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. 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

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

В этом фрагменте разрешены версия 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.