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

يتوافق "إطار عمل البث" مع الإصدار 14 من نظام التشغيل iOS والإصدارات الأحدث، ويتوفّر في كلٍّ من أُطر العمل الثابتة والديناميكية.

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

إعداد Xcode

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

  1. إضافة الإصدار 4.8.1 من Cast iOS SDK إلى مشروعك

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

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

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

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

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

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

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

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

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

مكتبات الإصدار 4.8.1 من حزمة تطوير البرامج (SDK) لمُرسِلي نظام التشغيل iOS:

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

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

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

  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، استخدِم المكتبة الديناميكية لحزمة تطوير البرامج (SDK) الخاصة ببثّ المحتوى. اتّبِع عملية الإعداد اليدوي لإضافة إطار العمل إلى مشروعك. بعد ذلك، استبعِد بشكل مشروط حزمة SDK التي تعمل بتكنولوجيا Google Cast من هدف Mac كما هو مذكور في مستندات Apple. يتم تجميع المكتبات الثابتة مسبقًا لبنية نظام التشغيل iOS، ما يؤدي إلى حدوث خطأ في الرابط عند الإنشاء مقابل هدف Mac.