מסגרת Cast תומכת ב-iOS מגרסה 14 ואילך, והיא זמינה במסגרות סטטיות ודינמיות.
בחומר העזר בנושא Google Cast API ל-iOS מפורטים תיאורים של כל הכיתות והשיטות.
הגדרת Xcode
iOS 14
-
הוספת Cast iOS SDK 4.8.3 לפרויקט
אם אתם משתמשים ב-CocoaPods, השתמשו בפקודה
pod update
כדי להוסיף את ה-SDK בגרסה 4.8.3 לפרויקט.אחרת, משיגים את ה-SDK באופן ידני.
-
הוספת
NSBonjourServices
אלInfo.plist
מציינים את הערך
NSBonjourServices
ב-Info.plist
כדי לאפשר זיהוי של רשתות מקומיות ב-iOS 14.כדי שגילוי המכשירים יפעל כראוי, צריך להוסיף את
_googlecast._tcp
ואת_<your-app-id>._googlecast._tcp
כשירותים.הערך של appID הוא receiverID, שהוא אותו מזהה שמוגדר ב-
GCKDiscoveryCriteria
.מעדכנים את ההגדרה לדוגמה של
NSBonjourServices
ומחליפים את 'ABCD1234' במזהה האפליקציה שלכם. -
הוספת
NSLocalNetworkUsageDescription
ל-Info.plist
מומלץ מאוד להתאים אישית את ההודעה שמוצגת בהודעה של הרשת המקומית על ידי הוספת מחרוזת הרשאה ספציפית לאפליקציה בקובץ
Info.plist
של האפליקציה עבורNSLocalNetworkUsageDescription
, למשל כדי לתאר את הגילוי של Cast ושירותי גילוי אחרים, כמו DIAL.ההודעה הזו תופיע כחלק מתיבת הדו-שיח של גישה לרשת המקומית ב-iOS, כפי שמוצג במודל.
-
השקה מחדש של האפליקציה ב-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:
שלבי ההגדרה
כדי להתקין את הספרייה:
- מורידים את ה-SDK המתאים לפרויקט ומחלצים אותו.
- מגדירים את הספרייה הדינמית GoogleCastSDK:
-
גוררים את הקובץ
.xcframework
ללא הארכיון לפרויקט הראשי בחלון הניווט של הפרויקט ב-Xcode (לא לפרויקט Pods, אם יש לכם כזה). מסמנים את האפשרות 'העתקת כל הפריטים אם יש צורך' ומוסיפים את הקוד לכל היעדים. -
ביעד Xcode, בכרטיסייה
General
, בוחרים באפשרותEmbed and Sign
עבורGoogleCast.xcframework
.
אם מגדירים את הספרייה הסטטית, צריך לבצע את השלבים הבאים בנוסף לשלבים הקודמים:
- מגדירים את ספריית Protobuf בגרסה מינימלית של v3.13.
- אם בפרויקט שלכם נעשה שימוש ב-CocoaPods:
-
פותחים את
Podfile
ומסירים אתgoogle-cast-sdk
אם הוא מופיע:pod 'google-cast-sdk'
-
מוסיפים את הספרייה
Protobuf
אם היא לא קיימת:pod 'Protobuf', '3.13'
-
מריצים את
pod install
בתיקיית הבסיס של הפרויקט. - אם אתם לא משתמשים ב-CocoaPods בפרויקט:
-
מסירים את הגרסה הנוכחית של
GoogleCastSDK
, אם היא קיימת. - מוסיפים את ספריית Protobuf בגרסה 3.13 ואילך, לפי ההוראות שמפורטות במאגר Protobuf ב-GitHub.
-
בפרויקט Xcode, מוסיפים את הדגלים
-ObjC -lc++
לקטע Build Settings > Other Linker Flags. -
מאתרים את התיקייה Resources בספרייה שחילצתם וגוררים את
GoogleCastCoreResources.bundle
,GoogleCastUIResources.bundle
ו-MaterialDialogs.bundle
אל הפרויקט לצדGoogleCast.xcframework
שהוספתם קודם. מסמנים את האפשרות 'העתקת כל הפריטים אם יש צורך' ומוסיפים את הקוד לכל היעד.
הגדרת Mac Catalyst
��אפליקציות שתומכות ב-Mac Catalyst, צריך להשתמש בספרייה הדינמית של Cast SDK. פועלים לפי תהליך ההגדרה הידנית כדי להוסיף את המסגרת לפרויקט. לאחר מכן, מחריגים באופן מותנה את Cast SDK מהיעד ל-Mac, כפי שמתואר במסמכי התיעוד של Apple. ספריות סטטיות מקובצות מראש לארכיטקטורה של iOS, וכתוצאה מכך מתרחשת שגיאה ב-linker במהלך ה-build ל-Mac.