הגדרה של פיתוח עם Cast Application Framework (CAF) ל-iOS

ה-Cast framework תומך ב-iOS 14 ואילך וב-frameworks סטטיות ודינמיות.

בחומר העזר בנושא Google Cast iOS API תוכלו למצוא תיאורים של כל המחלקות והשיטות.

הגדרת Xcode

iOS 14

  1. מוסיפים את Cast של iOS SDK 4.8.1 לפרויקט

    אם משתמשים ב-CocoaPods, אפשר להשתמש ב-pod update כדי להוסיף לפרויקט את גרסה 4.8.1 SDK.

    אחרת, מאחזרים את ה-SDK באופן ידני.

  2. הוספת NSBonjourServices אל Info.plist

    יש לציין את הערך NSBonjourServices ב-Info.plist כדי לאפשר הצלחה בגילוי הרשת המקומית ב-iOS 14.

    כדי שגילוי המכשיר יפעל כראוי, צריך להוסיף את _googlecast._tcp וגם את _<your-app-id>._googlecast._tcp כשירותים.

    ה-appID הוא ה-ReceiverID שלך, שהוא אותו מזהה שמוגדר ב-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

בפרויקט, צריך לציין טווח של רצפי ה-Pod כדי למנוע שינויים לא צפויים של תקלות, כפי שמפורט במדריך לקובצי pod.

בקטע הקוד הזה מותר להשתמש בגרסה 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:

הורדות

אחרי שמורידים את הספרייה המתאימה, צריך לבצע את שלבי ההגדרה כדי להוסיף את ה-framework לפרויקט.

ספריות של Cast iOS Sender SDK 4.8.1:

סטטי דינמי

שלבי ההגדרה

כדי להתקין את הספרייה:

  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. מוסיפים את ספריית Protobuf מגרסה 3.13 ואילך, בהתאם להוראות במאגר Protobuf GitHub.
  2. בפרויקט Xcode, מוסיפים את הדגלים -ObjC -lc++ אל Build Settings > Other Linker Banners (דגלים אחרים לקישור).
  3. מוצאים את תיקיית המשאבים (Resource) בספרייה פרוסה וגוררים את GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle ואת MaterialDialogs.bundle לפרויקט, ליד GoogleCast.xcframework שהוספתם קודם. מסמנים את האפשרות 'העתקת כל הפריטים במקרה הצורך' ומוסיפים אותה לכל היעדים.

הגדרת Catalyst של Mac

לאפליקציות שתומכות ב-Mac Catalyst, צריך להשתמש בספרייה הדינמית של Cast SDK. פועלים לפי תהליך ההגדרה הידנית כדי להוסיף את ה-framework לפרויקט. לאחר מכן, מחריגים את ה-SDK של Cast מהיעד ב-Mac כפי שמצוין במסמכי התיעוד של Apple, באופן מותנה. הספריות הסטטיות עוברות הידור מראש לארכיטקטורת iOS, וכתוצאה מכך גורמת לשגיאת קישור כשבונים את היעד של Mac.