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

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

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

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

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

ספרייה 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 המרה במכשיר
ספק DeviceCheck‏ (App Check) ‫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
Data Connect
Dynamic Links
Firebase התקנות
Firebase ML Model Downloader
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config

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

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

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

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

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

GoogleService-Info.plist

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

מידע נוסף על תהליך האתחול של אפליקציית Firebase זמין במסמכי העזר של Swift.

Swift Package Manager

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

תוספים ל-Swift

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

SwiftUI

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

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

החלפה של שיטות ב-App delegate

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

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

תמיכה ב-iOS 14

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

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

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

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

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

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

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

FirebaseUI

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

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

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

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