הגדרה לפיתוח באמצעות המסגרת של אפליקציית Cast (CAF) ל-iOS

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

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

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

הערה: מכשירי CAST מדור חדש תומכים במצב אורח ל-iOS, אבל מכשירי דור קודם לא תומכים בו. מידע נוסף מופיע במאמר בנושא מצב אורח – מכשירי Cast נתמכים.

הגדרת Xcode

iOS 14

  1. הוספה של Cast iOS 4.7.0 לפרויקט

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

    אם לא, יש למשוך את ה-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.7.0 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.

The google-cast-sdk and google-cast-sdk-no-bluetooth CocoaPods are available for download.

Use the google-cast-sdk-no-bluetooth if your app does not require guest mode or you do not wish to require Bluetooth® permission.

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, '12.0'

def target_pods
  pod 'google-cast-sdk'
end

target 'CastVideos-objc' do
  target_pods
end
target 'CastVideos-swift' do
  target_pods
end

הנה דוגמה להוספת google-cast-sdk-no-bluetooth CocoaPod ל-Podfile:

use_frameworks!

platform :ios, '12.0'

def target_pods
  pod 'google-cast-sdk-no-bluetooth'
end

target 'CastVideos-objc' do
  target_pods
end
target 'CastVideos-swift' do
  target_pods
end

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

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

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

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

הגדרה ידנית

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

הורדות

לאחר הורדת הספרייה המתאימה בהמשך, פעלו לפי שלבי ההגדרה להוספת המסגרת לפרויקט. דרישות ההגדרה זהות ל-XCFramework כמו ב-Universal Framework.

ספריות ללא מצב אורח סופקו למצבים שבהם האפליקציה שלכם לא דורשת את התכונה או שאתם לא מעוניינים בהרשאות Bluetooth®, שהושקו ב-iOS 13. לקבלת מידע נוסף, אפשר לעיין במסמך על השינויים ב-iOS 13.

מסגרת אוניברסלית

ספריות SDK לשליחת SMS 4.7.0 ל-iOS:

סטטי עם מצב אורח סטטי ללא מצב אורח

דינמית עם מצב אורח דינמית ללא מצב אורח

XCFramework (בטא)

החל מגרסה 4.7.1, ה-SDK של iOS ל-iOS תומך ב-XCFramework, ומאפשר פיתוח במחשבים של Apple M1 וניפוי באגים באמצעות סימולטור iOS M1.

הספריות האלה נמצאות כרגע בגרסת בטא. דווחו על כל בעיה בכלי למעקב אחר בעיות ב-SDK של Cast.

העברת ספריות XCFramework 4.7.1 של iOS Sender SDK:

XCFramework סטטי עם מצב אורח XCFramework סטטי ללא מצב אורח

XCFramework דינמי עם מצב אורח XCFramework דינמי ללא מצב אורח

שלבי ההגדרה

כדי להתקין את אחת מהספריות הסטטיות:

  1. מורידים את ה-SDK הסטטי המתאים לפרויקט ומבטלים את הדחיסה.
  2. מגדירים את ספריית 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 repo.
  3. גוררים את .framework או .xcframework שאינם מכוסים לפרויקט הראשי בכלי הניווט של פרויקט Xcode (לא לפרויקט Pods אם יש כזה). מסמנים ' מעתיקים את כל הפריטים במקרה הצורך' ומוסיפים לכל היעדים.
  4. בפרויקט ה-Xcode שלך, יש להוסיף את הסימונים -ObjC -lc++ ל-Build Settings Settings> Other Linker Flags.
  5. לוחצים לחיצה ימנית על GoogleCast.framework או על GoogleCast.xcframework בפרויקט, ובוחרים באפשרות 'הצגה ב-Finder'.
  6. יש לגרור את ה-GoogleCastCoreResources.bundle וה-GoogleCastUIResources.bundle אל הפרויקט ליד ה-GoogleCast.framework או ה-GoogleCast.xcframework שהוספת קודם, ואז לבדוק 'להעתיק את כל הפריטים במקרה הצורך' ולהוסיף לכל היעדים.

כדי להתקין אחת מהספריות הדינמיות:

  1. מורידים את ה-SDK הדינמי המתאים לפרויקט ומבטלים את הדחיסה.
  2. מגדירים את הספרייה הדינמית של GoogleCastSDK:
    1. אם בפרויקט שלכם נעשה שימוש ב-CocoaPods:
      1. פותחים את Podfile ומסירים:
        pod 'google-cast-sdk'
      2. מריצים את pod install בתיקייה הבסיסית של הפרויקט.
    2. אם בפרויקט שלך לא נעשה שימוש ב-CocoaPods, יש להסיר את ספריית Google Cast הנוכחית.
  3. גוררים את .framework או .xcframework שאינם מכוסים לפרויקט הראשי בכלי הניווט של פרויקט Xcode (לא לפרויקט Pods אם יש כזה). מסמנים ' מעתיקים את כל הפריטים במקרה הצורך' ומוסיפים לכל היעדים.
  4. ביעד Xcode, בכרטיסייה General, בוחרים באפשרות Embed and Sign עבור GoogleCast.framework או GoogleCast.xcframework.

הגדרה של Mac Catalyst

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

פרסום האפליקציה שלך ב-App Store

לפני פרסום האפליקציה ב-App Store, צריך להריץ סקריפט של קונכיה strip_unused_archs.sh כדי להסיר ארכיטקטורה שאינה בשימוש מה-App Bundle. הסקריפט הזה נמצא ב-SDK SDK ל-iOS.