במהלך פיתוח אפליקציית 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 המרה במכשיר | ||||||
| App Check ספק DeviceCheck |
watchOS 9 ואילך | |||||
| App Check ספק שירותי אימות אפליקציות |
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 Clips מ-Firestore ומ-מסד נתונים בזמן אמת בגלל תלות ב-CFStream.
רשימה מלאה של בעיות ידועות ב-App Clip זמינה במאגר Firebase GitHub.
GoogleService-Info.plist
כחלק מהוספת Firebase לפרויקט Apple, צריך להוסיף את קובץ ההגדרות GoogleService-Info.plist לפרויקט. אם רוצים להשתמש בכמה פרויקטים של Firebase באפליקציה אחת, אפשר לעיין במסמכי התיעוד בנושא הגדרת כמה פרויקטים.
מידע נוסף על תהליך האתחול של אפליקציית Firebase מופיע במאמרי העזרה בנושא Swift.
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) בגלל בעיה מוכרת. פרטים נוספים זמינים בקטע בנושא החלפת שיטות ב-app delegate.
החלפה של שיטות ב-App delegate
Firebase מבצע swizzling של חלק מהשיטות במחלקה של נציג האפליקציה באפליקציה שלכם כדי לקשר באופן אוטומטי שירותים מסוימים של Firebase לקריאות חוזרות של מערכת ההפעלה, כמו 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 במדריכים ובחומרים אחרים למפתחים. קטעי קוד של Objective-C יוסרו מהמדריכים שלנו החל מ-1 בינואר 2024. אנחנו נמשיך לעדכן את מאמרי העזרה של Objective-C לכל מוצרי Firebase.
מקורות מידע בקוד פתוח לערכות Firebase Apple SDK
Firebase תומכת בפיתוח קוד פתוח, ואנחנו מעודדים את הקהילה לתרום ולשלוח משוב.
ערכות Firebase SDK לפלטפורמת Apple
כל Firebase SDKs לפלטפורמות של אפל, למעט Analytics, מפותחים כספריות בקוד פתוח במאגר Firebase GitHub הציבורי שלנו.
FirebaseUI
FirebaseUI היא קבוצה של ספריות כלי עזר שמבוססות על Firebase, כולל זרימת ממשק משתמש מוכן להטמעה לאימות וכלי עזר לנתונים עבור Cloud Firestore ו-Realtime Database. פרטים נוספים על FirebaseUI זמינים בדף שלנו ב-GitHub.
דוגמאות להתחלה מהירה
ב-Firebase יש אוסף של דוגמאות להפעלה מהירה של רוב ממשקי ה-API של Firebase ב-iOS. אפשר למצוא את המדריכים האלה במאגר המדריכים לתחילת העבודה הציבורי שלנו ב-GitHub.
אפשר לפתוח כל מדריך להתחלה מהירה ב-Xcode, ואז להריץ אותו במכשיר נייד או בסימולטור. לחלופין, אפשר להשתמש במדריכים לתחילת העבודה האלה כדוגמאות לקוד לשימוש ב-Firebase SDKs.