פתרון בעיות ושאלות נפוצות לגבי פלטפורמות של Apple ו-Firebase
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מפורטים טיפים לפתרון בעיות ספציפיות לפלטפורמות של אפל שאתם עשויים להיתקל בהן במהלך השימוש ב-Firebase.
נתקלתם בבעיות אחרות או שהבעיה שלכם לא מופיעה ברשימה שלמטה? כדאי לעיין בשאלות הנפוצות הראשיות בנושא Firebase כדי לקבל מידע נוסף על Firebase או על מוצרים ספציפיים.
אפשר גם לעיין במאגר GitHub של Firebase Apple platforms SDK כדי לראות רשימה עדכנית של בעיות שדווחו ופתרונות לבעיות. מומלץ גם לדווח שם על בעיות שקשורות ל-Firebase SDK בפלטפורמות של אפל.
אילו גרסאות של Xcode נתמכות ב-Firebase?
Firebase תומך בעד שתי גרסאות עיקריות של Xcode, לא כולל גרסאות של Xcode שאפל כבר לא תומכת בהן. לדוגמה, החל ממרץ 2019,
Apple דרשה שכל האפליקציות יתאימו לפחות ל-iOS 12, כלומר התמיכה ב-Xcode 9
הופסקה ו-Xcode 10 הייתה הגרסה הראשית היחידה שנתמכה.
האפליקציה שלי מבקשת מהמשתמש את הסיסמה שלו כדי לגשת לפריטים ב-Keychain ב-macOS. כיצד אוכל לתקן זאת?
משדרגים את התלות ב-Firebase לגרסה 9.6.0 ואילך ומוסיפים את
[היכולת לשתף את מחזיק המפתחות](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
למטרה.
למה Firebase דורש את היכולת 'שיתוף צרור מפתחות' ב-macOS?
ערכות ה-SDK של Firebase משתמשות ב-keychain כדי לאחסן מידע כמו מזהה ההתקנה של Firebase שמשמש ל-FCM. יכול להיות שערכות ה-SDK של Firebase לא יפעלו כמו שצריך בלי גישה ל-Keychain. צרור המפתחות ב-macOS מתנהג באופן שונה מצרור המפתחות בסגנון iOS שמשמש בפלטפורמות אחרות (iOS, tvOS, macCatalyst ו-watchOS).
ב-macOS, אפליקציות משתמשות בשרשרת מפתחות משותפת שאפליקציות ותהליכים אחרים יכולים לשנות. בניגוד ל-iOS, אין מחזיק מפתחות בסביבת ארגז חול שהאפליקציה מקבלת אליו גישה מרומזת. לכן, כשמפעילים אפליקציית Mac שמתקשרת עם מחזיק המפתחות, המערכת מבקשת מהמשתמש גישה, כי יכול להיות שאפליקציית Mac משנה פריט במחזיק המפתחות שהיא לא יצרה. כדי לפתור את אי ההתאמה הזו, מערכת Firebase שולחת שאילתה למחזיק המפתחות עם מפתח kSecUseDataProtectionKeychain, שמורה לאפליקציה לשלוח שאילתה לפריט במחזיק המפתחות ששייך לקבוצת גישה למחזיק המפתחות (זו התנהגות ברירת המחדל בפלטפורמות אחרות). היכולת 'שיתוף של מחזיק המפתחות' נדרשת כי האפליקציה צריכה אותה כדי ליצור קבוצת גישה שאפשר לשתף בין יעדי הגישה שלה, וכך לתת לאפליקציה הרשאה לגשת באופן חופשי לפריטים במחזיק המפתחות בקבוצת הגישה.
בגרסאות Xcode 13 ואילך, למה אפליקציות UIKit שלי לא יכולות לפתוח חלק מכתובות ה-URL שרשמתי ב-Info.plist?
Apple הציגה מגבלה של 50 רשומות LSApplicationQueriesSchemes
בקובצי Info.plist. בשנת 2015, אפל הציגה את LSApplicationQueriesSchemes כדי להגביל את מספר השאילתות של כתובות URL שכל אפליקציה יכולה לשלוח. עם ההשקה של Xcode 13, המגבלות האלה נאכפות,
בעוד שב-Xcode 12 ובגרסאות קודמות לא הייתה מגבלה יעילה על מספר הסכמות.
חלק מהמוצרים של Firebase, כמו Firebase Authentication ו-Firebase Dynamic Links,
דורשים שימוש בסכימות URL מותאמות אישית כדי להפנות מחדש לאפליקציה שלכם. כתובות ה-URL האלה עומדות בדרישות של סכמת כתובות URL תמציתית ועקבית, ולכן הן לא אמורות להיכלל במגבלה של 50 קישורים.
שימו לב: אם אפליקציות ממשיכות לרשום יותר מ-50 LSApplicationQueriesSchemes, המערכת תתעלם בשקט מחלק מהסכימות. יכול להיות שהאפליקציה לא תוכל להפעיל קישורי עומק מסוימים, בהתאם לסדר שבו הם נוספו.
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-09-05 (שעון UTC)."],[],[],null,["\u003cbr /\u003e\n\nThis page offers tips and troubleshooting for Apple platform-specific issues\nthat you might encounter when using Firebase.\n\nHave other challenges or don't see your issue outlined below? Make sure to check\nout the [main Firebase FAQ](/support/faq) for more pan-Firebase or\nproduct-specific FAQ.\n\nYou can also check out the\n[Firebase Apple platforms SDK GitHub repo](https://github.com/firebase/firebase-ios-sdk/issues)\nfor an up-to-date list of reported issues and troubleshooting. We encourage you\nto file your own Firebase Apple platforms SDK related issues there, too! \n\nWhat versions of Xcode does Firebase support?\n\nFirebase supports up to two major versions of Xcode, not including versions\nof Xcode that Apple no longer supports. For example, starting in March 2019,\nApple required at least iOS 12 on all apps, meaning Xcode 9 support was\ndropped and Xcode 10 was the only major version supported.\n\nChanges to support for specific minor or patch versions of Xcode\n(for example, 9.2.0 to 9.4.1) are determined based on the needs of the\nFirebase Apple platforms SDK and a survey of developer usage. These changes\nare reflected in the\n[Firebase Apple platforms SDK release notes](/support/release-notes/ios)\nand on the [Firebase Apple platforms SDK setup page](/docs/ios/setup).\n\nTo see the minimum Xcode version supported by the SDK, check\nthe requirements listed in\n[Add Firebase to your Apple project](/docs/ios/setup).\n\nFirebase support for Beta releases of Xcode is available on a \"best effort\"\nbasis. Developers can track and submit issues in the\n[Firebase Apple platforms SDK repository on GitHub](//github.com/firebase/firebase-ios-sdk/issues). \n\nMy app prompts the user for their password to access Keychain items on macOS. How do I fix this?\n\nUpgrade your Firebase dependency to version 9.6.0 or higher and add the\n\\[Keychain Sharing capability\\](/docs/ios/troubleshooting-faq#macos-keychain-sharing)\nto your target. \n\nWhy does Firebase require the Keychain Sharing capability on macOS?\n\nFirebase SDKs use keychain to store information like the Firebase\ninstallation ID used for FCM. Without Keychain access, Firebase SDKs may not\nfunction correctly. The macOS keychain behaves differently than the iOS-style\nkeychain that is used on other platforms (iOS, tvOS, macCatalyst,\nand watchOS).\n\nOn macOS, apps use a shared keychain that may be modified by other apps and\nprocesses. Unlike iOS, there is no sandboxed keychain that the app has\nimplicit access to. So, when a Mac app interacts with the keychain, the system\nprompts the user for access since the Mac app may be modifying a keychain item\nthat it did not create. To address this discrepancy, Firebase queries the\nkeychain with the `kSecUseDataProtectionKeychain` key, which tells\nthe app to query a keychain item that is part of a keychain access group\n(this is default behavior on other platforms). The Keychain Sharing capability\nis required because the app needs it to synthesize an access group that can be\nshared amongst its targets, thus giving permission for the app to freely\naccess keychain items in the access group.\n\nFor more information, see Apple's\n[Keychain documentation](https://developer.apple.com/documentation/security/keychain_services/keychains). \n\nIn Xcode versions 13 and later, why can my UIKit apps not open some\nURLs I've registered\nin my Info.plist?\n\nApple introduced a limit of 50 `LSApplicationQueriesSchemes`\nentries in `Info.plist` files. In 2015, Apple introduced\n`LSApplicationQueriesSchemes` to limit the number of URL queries\neach app could make. With the release of Xcode 13, these limits are enforced,\nwhile in Xcode 12 and earlier there was no effective limit to the number of\nschemes.\n\nSome Firebase products, like Firebase Authentication and Firebase Dynamic Links,\nrequire the use of custom URL schemes to redirect to your application. These\nURLs conform to a concise and consistent URL scheme that should not count\nsignificantly against the 50 link scheme limit.\n\nNote that for apps that continue to register more than 50\n`LSApplicationQueriesSchemes`, some schemes will\nbe silently ignored. The app may be unable to execute certain deeplinks,\ndepending on the order in which they are added."]]