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

ה-Cast framework תומך ב-iOS 14 ואילך ומגיע גם ב-frameworks וגם ב-frameworks סטטיות.

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

הגדרת 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 הוא מזהה המקבל, שהוא אותו מזהה שמוגדר ב-GCKDiscoveryCriteria.

    מעדכנים את ההגדרה של NSBonjourServices בדוגמה הבאה ומחליפים את 'ABCD1234' במזהה ה-appID.

    <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.

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

הגדרה של Mac Catalyst

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