عیب یابی & سوالات متداول برای پلتفرم های اپل و Firebase
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
این صفحه نکات و عیب یابی مشکلات پلتفرم اپل را ارائه می دهد که ممکن است هنگام استفاده از Firebase با آن مواجه شوید.
چالش های دیگری دارید یا مشکل خود را در زیر نمی بینید؟ حتماً سؤالات متداول اصلی Firebase را برای سؤالات متداول pan-Firebase یا محصول خاص بررسی کنید.
همچنین می توانید برای لیست به روز مشکلات گزارش شده و عیب یابی ، مخزن SDK GitHub پلتفرم Firebase Apple را بررسی کنید. ما شما را تشویق می کنیم که مسائل مربوط به SDK پلتفرم Apple Firebase خود را نیز در آنجا ثبت کنید!
Firebase چه نسخه هایی از Xcode را پشتیبانی می کند؟
Firebase حداکثر دو نسخه اصلی Xcode را پشتیبانی می کند، بدون احتساب نسخه های Xcode که اپل دیگر پشتیبانی نمی کند. به عنوان مثال، از مارس 2019، اپل به حداقل iOS 12 در همه برنامه ها نیاز داشت، به این معنی که پشتیبانی Xcode 9 حذف شد و Xcode 10 تنها نسخه اصلی پشتیبانی شده بود.
پشتیبانی Firebase برای نسخه های بتا Xcode بر اساس "بهترین تلاش" در دسترس است. توسعه دهندگان می توانند مشکلات را در مخزن SDK پلتفرم های اپل Firebase در GitHub ردیابی و ارسال کنند.
برنامه من از کاربر می خواهد رمز عبور خود را برای دسترسی به موارد Keychain در macOS وارد کند. چگونه این را درست کنم؟
وابستگی Firebase خود را به نسخه 9.6.0 یا بالاتر ارتقا دهید و [قابلیت اشتراکگذاری زنجیره کلید] (/docs/ios/troubleshooting-faq#macos-keychain-sharing) را به هدف خود اضافه کنید.
چرا Firebase به قابلیت Keychain Sharing در macOS نیاز دارد؟
Firebase SDK از زنجیره کلید برای ذخیره اطلاعاتی مانند شناسه نصب Firebase استفاده شده برای FCM استفاده می کند. بدون دسترسی به Keychain، SDK های Firebase ممکن است به درستی کار نکنند. دسته کلید macOS رفتار متفاوتی نسبت به دسته کلید به سبک iOS دارد که در سایر پلتفرمها (iOS، tvOS، macCatalyst و watchOS) استفاده میشود.
در macOS، برنامهها از یک زنجیره کلید مشترک استفاده میکنند که ممکن است توسط برنامهها و فرآیندهای دیگر اصلاح شود. برخلاف iOS، هیچ زنجیره کلید سندباکسی وجود ندارد که اپلیکیشن به طور ضمنی به آن دسترسی داشته باشد. بنابراین، هنگامی که یک برنامه مک با زنجیره کلید تعامل می کند، سیستم از کاربر می خواهد به آن دسترسی داشته باشد، زیرا برنامه Mac ممکن است در حال تغییر آیتم زنجیره کلیدی باشد که آن را ایجاد نکرده است. برای رفع این اختلاف، Firebase با کلید kSecUseDataProtectionKeychain از زنجیره کلید درخواست میکند، که به برنامه میگوید یک آیتم زنجیرهکلیدی را که بخشی از گروه دسترسی به زنجیره کلید است (این رفتار پیشفرض در پلتفرمهای دیگر است) جستجو کند. قابلیت اشتراکگذاری Keychain مورد نیاز است، زیرا برنامه برای ترکیب کردن یک گروه دسترسی که میتواند بین اهدافش به اشتراک گذاشته شود، به آن نیاز دارد، بنابراین به برنامه اجازه میدهد آزادانه به آیتمهای زنجیرهکلیدی در گروه دسترسی دسترسی داشته باشد.
در نسخه های Xcode 13 و جدیدتر، چرا برنامه های UIKit من نمی توانند برخی از URL هایی را که ثبت کرده ام باز کنند در Info.plist من؟
اپل محدودیت 50 ورودی LSApplicationQueriesSchemes را در فایل های Info.plist معرفی کرد. در سال 2015، اپل LSApplicationQueriesSchemes برای محدود کردن تعداد جستجوهای URL که هر برنامه می تواند ایجاد کند، معرفی کرد. با انتشار Xcode 13، این محدودیت ها اعمال می شوند، در حالی که در Xcode 12 و قبل از آن هیچ محدودیت موثری برای تعداد طرح ها وجود نداشت.
برخی از محصولات Firebase، مانند Firebase Authentication و Firebase Dynamic Links ، نیاز به استفاده از طرحهای URL سفارشی برای تغییر مسیر به برنامه شما دارند. این URL ها با یک طرح URL مختصر و سازگار مطابقت دارند که نباید به طور قابل توجهی در بین محدودیت طرح پیوند 50 حساب شود.
توجه داشته باشید که برای برنامههایی که به ثبت بیش از 50 LSApplicationQueriesSchemes ادامه میدهند، برخی از طرحها بیصدا نادیده گرفته میشوند. بسته به ترتیب اضافه شدن آنها، ممکن است برنامه نتواند پیوندهای عمیق خاصی را اجرا کند.
تاریخ آخرین بهروزرسانی 2025-09-04 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-04 بهوقت ساعت هماهنگ جهانی."],[],[],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."]]