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

מסגרת Cast תומכת ב-iOS מגרסה 14 ואילך, והיא זמינה במסגרות סטטיות ודינמיות.

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

הגדרת Xcode

iOS 14

  1. הוספת Cast iOS SDK 4.8.3 לפרויקט

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

    אחרת, משייכים את ה-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. הוספת 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, כפי שמוצג במודל.

    תמונה של תיבת הדו-שיח של הרשאות הגישה לרשת המקומית ב-Cast
  4. השקה מחדש של האפליקציה ב-Apple App Store

    מומלץ גם לפרסם מחדש את האפליקציה באמצעות הגרסה 4.8.3 בהקדם האפשרי.

iOS 13

iOS 12

מוודאים שהמתג Access WiFi Information בקטע Capabilities של היעד מוגדר למצב 'מופעל'.

בנוסף, פרופיל הקצאת המשאבים צריך לתמוך ביכולת Access WiFi Information. אפשר להוסיף את זה ב-Apple Developer Portal.

הגדרת CocoaPods

הדרך המומלצת לשילוב Google Cast היא באמצעות CocoaPods. לשילוב, משתמשים ב-CocoaPods של google-cast-sdk.

כדי להתחיל, אפשר לעיין במדריך למתחילים.

אחרי שמגדירים את CocoaPods, פועלים לפי המדריך לשימוש ב-CocoaPods כדי ליצור את Podfile ולהכין את הפרויקט לשימוש עם Google Cast SDK.

דוגמה להוספת CocoaPod של google-cast-sdk ל-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

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

בקטע הקוד הזה, מותר להשתמש בגרסה 4.8.3 ובגרסאות עד לגרסה הראשית הבאה (major.minor.patch):

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

לדוגמה, הערך '‎~> 1.6.7' יכלול את כל הגרסאות מ-1.6.7 ועד לגרסה 2.0.0, אבל לא כולל אותה.

הגדרה ידנית

ההוראות הבאות מתייחסות להוספת Cast iOS SDK לפרויקט בלי להשתמש ב-CocoaPods:

הורדות

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

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

סטטי דינמי

שלבי ההגדרה

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

  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++ לקטע Build Settings‏ > Other Linker Flags.
  3. מאתרים את התיקייה Resources בספרייה שחילצתם וגוררים את GoogleCastCoreResources.bundle,‏ GoogleCastUIResources.bundle ו-MaterialDialogs.bundle אל הפרויקט לצד GoogleCast.xcframework שהוספתם קודם. מסמנים את האפשרות 'העתקת כל הפריטים לפי הצורך' ומוסיפים את הקוד לכל היעד.

הגדרת Mac Catalyst

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