דף זה מציע טיפים ופתרון בעיות עבור בעיות ספציפיות לפלטפורמת Apple שאתה עלול להיתקל בהן בעת השימוש ב-Firebase.
יש לך אתגרים אחרים או שאתה לא רואה את הבעיה שלך מתוארת למטה? הקפד לעיין בשאלות הנפוצות הראשיות של Firebase לקבלת שאלות נפוצות נוספות על פאן-Firebase או ספציפיות למוצר.
אתה יכול גם לעיין ב- Firebase Apple platforms SDK GitHub repo לקבלת רשימה מעודכנת של בעיות שדווחו ופתרון בעיות. אנו ממליצים לך להגיש שם גם בעיות הקשורות לפלטפורמות ה-SDK של Firebase משלך!
באילו גרסאות של Xcode תומכת Firebase?
Firebase תומך בעד שתי גרסאות עיקריות של Xcode, לא כולל גרסאות של Xcode שאפל כבר לא תומכת בהן. לדוגמה, החל ממרץ 2019, אפל דרשה לפחות iOS 12 בכל האפליקציות, כלומר התמיכה ב-Xcode 9 בוטלה ו-Xcode 10 הייתה הגרסה העיקרית היחידה שנתמכה.
שינויים בתמיכה עבור גרסאות מינוריות או תיקון ספציפיות של Xcode (לדוגמה, 9.2.0 עד 9.4.1) נקבעים על סמך הצרכים של Firebase פלטפורמות ה-SDK של Apple וסקר של שימוש המפתחים. שינויים אלה באים לידי ביטוי בהערות הגרסה של Firebase Apple platforms SDK ובדף ההגדרה של Firebase Apple platforms SDK .
כדי לראות את גרסת ה-Xcode המינימלית הנתמכת על ידי ה-SDK, בדוק את הדרישות המפורטות ב- Add Firebase לפרויקט Apple שלך .
תמיכה ב-Firebase עבור מהדורות בטא של Xcode זמינה על בסיס "המאמץ הטוב ביותר". מפתחים יכולים לעקוב אחר בעיות ולהגיש אותן במאגר Firebase Apple platforms SDK ב-GitHub .
האפליקציה שלי מבקשת מהמשתמש להזין את הסיסמה שלו כדי לגשת לפריטי מחזיק מפתחות ב-macOS. איך אני מתקן את זה?
שדרג את התלות שלך ב-Firebase לגרסה 9.6.0 ומעלה והוסף את [יכולת שיתוף מפתחות](/docs/ios/troubleshooting-faq#macos-keychain-sharing) ליעד שלך.
מדוע Firebase דורשת את יכולת שיתוף מחזיקי מפתחות ב-macOS?
ערכות SDK של Firebase משתמשות במחזיק מפתחות כדי לאחסן מידע כמו מזהה ההתקנה של Firebase המשמש עבור FCM. ללא גישה למחזיק מפתחות, ערכות SDK של Firebase עשויות שלא לפעול כהלכה. מחזיק המפתחות של macOS מתנהג בצורה שונה מצרור המפתחות בסגנון iOS המשמש בפלטפורמות אחרות (iOS, tvOS, macCatalyst ו-watchOS).
ב-macOS, אפליקציות משתמשות במחזיק מפתחות משותף שעשוי להשתנות על ידי אפליקציות ותהליכים אחרים. שלא כמו iOS, אין מחזיק מפתחות בארגז חול שלאפליקציה יש גישה מרומזת אליו. לכן, כאשר אפליקציית Mac מקיימת אינטראקציה עם מחזיק המפתחות, המערכת מבקשת מהמשתמש גישה מכיוון שאפליקציית Mac עשויה לשנות פריט מחזיק מפתחות שהיא לא יצרה. כדי לטפל בפער הזה, Firebase מבצעת שאילתות על מחזיק המפתחות עם מפתח kSecUseDataProtectionKeychain
, שאומר לאפליקציה לבצע שאילתה על פריט מחזיק מפתחות שהוא חלק מקבוצת גישה למחזיק מפתחות (זוהי התנהגות ברירת המחדל בפלטפורמות אחרות). נדרשת יכולת שיתוף מחזיקי מפתחות מכיוון שהאפליקציה זקוקה לה כדי לסנתז קבוצת גישה שניתן לחלוק בין היעדים שלה, ובכך לתת הרשאה לאפליקציה לגשת באופן חופשי לפריטי מחזיק מפתחות בקבוצת הגישה.
למידע נוסף, עיין בתיעוד מחזיק המפתחות של אפל.
ב-Xcode גרסאות 13 ואילך, מדוע אפליקציות UIKit שלי לא פותחות כמה כתובות URL שרשמתי
ב-Info.plist שלי?
אפל הציגה מגבלה של 50 כניסות LSApplicationQueriesSchemes
בקבצי Info.plist
. בשנת 2015, אפל הציגה את LSApplicationQueriesSchemes
כדי להגביל את מספר שאילתות ה-URL שכל אפליקציה יכולה לבצע. עם שחרורו של Xcode 13, מגבלות אלו נאכפות, בעוד שב-Xcode 12 ומעלה לא הייתה הגבלה יעילה למספר הסכמות.
חלק ממוצרי Firebase, כמו Firebase Authentication ו-Firebase Dynamic Links, דורשים שימוש בסכימות כתובת URL מותאמות אישית כדי להפנות מחדש לאפליקציה שלך. כתובות אתרים אלו תואמות לערכת כתובות אתרים תמציתית ועקבית שלא אמורה להיחשב באופן משמעותי כנגד מגבלה של 50 קישורים.
שים לב שעבור אפליקציות שממשיכות לרשום יותר מ-50 LSApplicationQueriesSchemes
, חלק מהסכימות יתעלמו בשקט. ייתכן שהאפליקציה לא תוכל להפעיל קישורי עומק מסוימים, בהתאם לסדר הוספתם.