إعداد التطوير باستخدام إطار عمل تطبيق Cast (CAF) لنظام التشغيل iOS

يتوافق إطار عمل Google Cast مع نظام التشغيل iOS 14 والإصدارات الأحدث، ويأتي في إطارَي العمل الثابت والديناميكي.

راجع مرجع واجهة برمجة التطبيقات Google Cast iOS API للحصول على أوصاف لجميع الفئات والطرق.

إعداد Xcode

الإصدار 14 من نظام التشغيل iOS

  1. إضافة الإصدار 4.8.1 من حزمة تطوير البرامج (SDK) لنظام التشغيل iOS لخدمة Cast إلى مشروعك

    في حال استخدام 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 iOS14 LNA Dialog
  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

بالنسبة إلى مشروعك، عليك تحديد نطاق مجموعات الصور المتسلسلة لمنع التغييرات غير المتوقعة على النحو الموضّح في دليل ملفات Podfile.

في هذا المقتطف، يُسمح باستخدام الإصدار 4.8.1 والإصدارات وصولاً إلى الإصدار الرئيسي التالي (major.minor.patch):

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

على سبيل المثال، سيتضمن "~> 1.6.7" جميع الإصدارات من 1.6.7 والأحدث، ولكن لا يشمل الإصدار 2.0.0.

الإعداد اليدوي

تتعلّق التعليمات التالية بإضافة حزمة تطوير البرامج (SDK) لنظام التشغيل iOS لتكنولوجيا Cast إلى مشروعك بدون استخدام CocoaPods:

المحتوى الذي تم تنزيله

بعد تنزيل المكتبة المناسبة أدناه، اتّبِع خطوات الإعداد لإضافة إطار العمل إلى مشروعك.

مكتبات الإصدار 4.8.1 من حزمة تطوير البرامج (SDK) الخاصة بـ iOS Sender:

الثابت ديناميكي

خطوات الإعداد

لتثبيت المكتبة:

  1. عليك تنزيل حزمة SDK المناسبة لمشروعك واستخراجها.
  2. إعداد مكتبة GoogleCastSDK الديناميكية:
  3. اسحب ملف .xcframework غير المضغوط إلى مشروعك الرئيسي في أداة التنقّل في مشروع Xcode (وليس إلى مشروع Pods إذا كان لديك مشروع). ضَع علامة في المربّع "نسخ كلّ العناصر عند الحاجة" وأضِفها إلى جميع الاستهدافات.
  4. في استهداف Xcode، ضمن علامة التبويب General، اختَر Embed and Sign لـ GoogleCast.xcframework.

إذا كنت يتم إعداد المكتبة الثابتة، يُرجى اتّباع الخطوات التالية بالإضافة إلى الخطوات السابقة:

  1. عليك إعداد مكتبة Protobuf باستخدام الإصدار 3.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. أضِف الإصدار 3.13 من مكتبة Protobuf أو إصدارًا أحدث، وذلك باتّباع التعليمات الواردة في مستودع Protobuf GitHub.
  2. في مشروع Xcode، أضِف العلامات -ObjC -lc++ إلى إعداد الإعدادات > علامات الروابط الأخرى.
  3. حدِّد موقع مجلد "الموارد" في الدليل المضغوط واسحب GoogleCastCoreResources.bundle وGoogleCastUIResources.bundle وMaterialDialogs.bundle إلى مشروعك بجانب GoogleCast.xcframework الذي أضفته سابقًا. ضَع علامة في المربّع "نسخ جميع العناصر عند الحاجة" وأضِفها إلى جميع الأهداف.

إعداد Mac Catalyst

بالنسبة إلى التطبيقات التي تتيح استخدام Mac Catalyst، يمكنك استخدام المكتبة الديناميكية لحزمة Cast SDK. اتبع عملية الإعداد اليدوي لإضافة إطار العمل إلى مشروعك. بعد ذلك، عليك استثناء حزمة تطوير البرامج (SDK) لـ Cast من هدف Mac بشكل مشروط كما هو مذكور في مستندات Apple. يتم تجميع المكتبات الثابتة مسبقًا لبنية iOS، ما يتسبب في ظهور خطأ رابط عند الإنشاء وفقًا لهدف Mac.