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

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

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

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

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

ספרייה iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 ומעלה macOS 12 ומעלה Catalyst 15+‎ ‫tvOS מגרסה 15 ואילך (תמיכה מהקהילה בלבד) watchOS 8 ומעלה
Analytics גרסה 8.9.0 ומעלה גרסה 8.9.0 ומעלה גרסה 8.9.0 ומעלה
‫Analytics ללא מזהה מודעה גרסה 8.9.0 ומעלה גרסה 8.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 Check
reCAPTCHA ספק
App Distribution
Authentication חלקית חלקית חלקית חלקית חלקית
Cloud Firestore הפצות מקור בלבד
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Firebase התקנות
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
SQL Connect 2
ספריות שהוצאו משימוש או שלא נתמכות
Dynamic Links
הורדת מודל Firebase ML

1 בעבר, Firebase AI Logic נקרא "Vertex AI in Firebase".

‫2 Firebase SQL Connect נקרא בעבר "Firebase Data Connect".

מיני-אפליקציות

רוב הספריות של Firebase יפעלו ביעד של App Clip, אבל רבות מהן מוגבלות בגלל מגבלות של מערכת ההפעלה הבסיסית. בעיות מוכרות:

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

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

GoogleService-Info.plist

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

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

Swift Package Manager

במדריך שלנו מוסבר איך לשלב את Swift Package Manager.

תוספים ל-Swift

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

SwiftUI

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

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

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

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

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

תמיכה ב-iOS 14

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

תמיכה שוטפת ב-Objective-C

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

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

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

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

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

FirebaseUI

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

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

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

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