הסבר על Firebase בפלטפורמות של Apple

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

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

תמיכה בספריות של Firebase לפי פלטפורמה

בטבלה הבאה מפורטות ספריות Firebase שתואמות לפלטפורמות של Apple. בשלב זה, יש תמיכה ב-visionOS וב-watchOS רק מהקהילה. הוראות התקנה ובעיות ידועות מפורטות במאגר GitHub של Firebase Apple platforms SDK.

ספרייה iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Analytics גרסה 8.9.0 ואילך v8.9.0 ואילך v8.9.0 ואילך
Analytics ללא מזהה מודעה v8.9.0 ואילך v8.9.0 ואילך גרסה 8.9.0 ואילך
Analytics המרה במכשיר
ספק App Check DeviceCheck watchOS בגרסה 9 ואילך
App Check ספק של App Attest iOS מגרסה 14 ואילך macOS מגרסה 11 ואילך Catalyst 14+ tvOS מגרסה 15 ואילך watchOS בגרסה 9 ואילך
App Check ספקים של תיקוני באגים בהתאמה אישית
App Distribution
Authentication חלקי חלקי חלקי חלקי חלקי
Cloud Firestore הפצות מקור בלבד
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Dynamic Links
Firebase התקנות
Firebase ML הורדת מודלים
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase iOS מגרסה 15 ואילך macOS 12 וגרסאות חדשות יותר Catalyst 15+ tvOS מגרסה 15 ואילך (תמיכה מהקהילה בלבד) watchOS מגרסה 8 ואילך

קליפים של אפליקציות

רוב הספריות של Firebase ייבנו ויופעלו ביעד של קטע מקדים של אפליקציה, אבל הרבה מהן מוגבלות כתוצאה מהגבלות של מערכת ההפעלה הבסיסית. בין הבעיות המוכרות:

  • קישורים דינמיים לא יכולים לשלוח משתמשים לקטע מקוצר של אפליקציה אם הם מקישים על קישור בלי שהאפליקציה מותקנת.
  • לא ניתן לטעון נתונים ב-App Clips באמצעות Firestore ו-Realtime Database בגלל תלות בסיסית ב-CFStream.

במאגר GitHub של Firebase תוכלו למצוא רשימה מלאה של בעיות ידועות ב-App Clip.

GoogleService-Info.plist

כחלק מהוספת Firebase לפרויקט שלכם ב-Apple, עליכם להוסיף את קובץ התצורה GoogleService-Info.plist לפרויקט. אם אתם רוצים להשתמש בכמה פרויקטים של Firebase באפליקציה אחת, תוכלו לעיין במאמר בנושא הגדרת כמה פרויקטים.

במסמכי העזרה של Swift מוסבר בפירוט על תהליך האינטראקציה הראשונית של האפליקציה עם Firebase.

Swift Package Manager

מידע נוסף על השילוב של Swift Package Manager זמין במדריך שלנו.

תוספים ל-Swift

בעבר, התוספים של Firebase Apple platform SDK ל-Swift היו תוספים קטנים בקוד פתוח לספריות הקיימות של Firebase Apple platform, שמאפשרים לקוד להשתמש בתכונות ספציפיות לשפת Swift. מאז, ממשקי ה-API האלה נוספו ישירות לספריות הראשיות, ולא צריך לכלול אותם בנפרד. אם בעבר השתמשתם ב-SDK של תוסף Swift בקוד שלכם, תוכלו לעיין במדריך להעברת נתונים כדי לקבל הוראות לשדרוג.

SwiftUI

Firebase תומך באופן מלא ב-SwiftUI, אבל ההגדרה תהיה שונה במקצת מאפליקציות UIKit כדי ש-Firebase יפעל בצורה תקינה בסביבה של SwiftUI. פרטים נוספים זמינים בפוסט הזה בבלוג של Peter Friese.

באפליקציות SwiftUI צריך להשבית את ההחלפה (swizzling) בגלל בעיה ידועה. פרטים נוספים זמינים בקטע החלפת קוד של נציג האפליקציה.

החלפת (swizzling) של נציג האפליקציה

מערכת Firebase מבצעת swizzle של שיטות מסוימות במחלקת ה-delegate של האפליקציה כדי לקשר באופן אוטומטי שירותי Firebase מסוימים לקריאות חזרה (callbacks) של מערכת ההפעלה, כמו FCM ואסימון APNs. כדי להשבית את ההחלפה באפליקציה, מוסיפים את הדגל FirebaseAppDelegateProxyEnabled לקובץ Info.plist של האפליקציה ומגדירים אותו כ-NO.

ארבעה מוצרים של Firebase משתמשים בהחלפה של App Delegate: Analytics,‏ App Distribution,‏ Authentication ו-FCM. אם השבתתם את החלפת השמות באפליקציה ואתם משתמשים באחד מהמוצרים הבאים, תוכלו לעיין במדריך הספציפי למוצר כדי ללמוד איך להשתמש במוצר בלי החלפת שמות:

תמיכה ב-iOS 14

ב-iOS 14 יש שינויים חדשים בהרשאות המשתמשים לגבי מזהה הפרסום שלהם. במדריך הזה מוסבר בהרחבה אם האפליקציה שלכם עשויה להיות מושפעת מהשינויים.

תמיכה מתמשכת ב-Objective-C

כדי להקל על התחזוקה של מסמכי התיעוד של פלטפורמות Apple, ב-Firebase החליטו להתמקד בקטעי קוד ובדוגמאות קוד של Swift במדריכים ובחומרים אחרים למפתחים. החל מ-1 בינואר 2024, קטעי קוד של Objective-C יוסרו מהמדריכים שלנו. נמשיך לתחזק מסמכי עזרה עדכניים ל-Objective-C לכל מוצרי Firebase.

מקורות מידע בקוד פתוח ל-SDK של Firebase לפלטפורמות של Apple

Firebase תומכת בפיתוח קוד פתוח, ואנחנו מעודדים את הקהילה לתרום ולהביע משוב.

ערכות SDK של Firebase לפלטפורמות של Apple

כל חבילות ה-SDK של Firebase לפלטפורמות של Apple, מלבד Analytics, מפותחות כספריות בקוד פתוח במאגר GitHub הציבורי של Firebase.

FirebaseUI

FirebaseUI הוא קבוצה של ספריות שירות שנוצרו על סמך Firebase, כולל תהליך UI להטמעה מיידית לאימות ושירותי נתונים ל-Cloud Firestore ול-Realtime Database. פרטים נוספים על FirebaseUI זמינים בדף שלנו ב-GitHub.

דוגמאות למתחילים

ב-Firebase יש אוסף של דוגמאות למדריכים למתחילים לרוב ממשקי ה-API של Firebase ל-iOS. תוכלו למצוא את מדריכי ההתחלה המהירים האלה במאגר מדריכי ההתחלה המהיר הציבורי שלנו ב-GitHub של Firebase.

אפשר לפתוח כל מדריך למתחילים ב-Xcode ולהריץ אותו במכשיר נייד או בסימולטור. לחלופין, אפשר להשתמש במדריכים למתחילים האלה כקוד לדוגמה לשימוש ב-SDK של Firebase.