این صفحه نکتهها و عیبیابیهایی را برای مشکلات خاص پلاتفرم Apple ارائه میدهد
که ممکن است هنگام استفاده از Firebase با آنها مواجه شوید.
آیا چالشهای دیگری دارید یا مشکلتان را در زیر نمیبینید؟ حتماً
پرسشگان اصلی Firebase را برای پرسشگان بیشتر درباره Firebase یا
محصولات خاص بررسی کنید.
همچنین میتوانید
مخزن GitHub کیت توسعه نرمافزار پلاتفرمهای Firebase Apple
را برای فهرست بهروز مشکلات گزارششده و عیبیابی بررسی کنید. توصیه میکنیم
مشکلات مربوط به کیت توسعه نرمافزار پلاتفرمهای Firebase Apple خودتان را نیز در آنجا ثبت کنید!
برنامه من از کاربر میخواهد گذرواژهاش را برای دسترسی به موارد Keychain در macOS وارد کند. چگونه این مشکل را برطرف کنم؟
وابستگی Firebase خود را به نسخه ۹.۶.۰ یا بالاتر ارتقا دهید و
[قابلیت Keychain Sharing](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
را به هدف خود اضافه کنید.
چرا Firebase به قابلیت Keychain Sharing در macOS نیاز دارد؟
کیتهای توسعه نرمافزار Firebase از keychain برای ذخیره اطلاعاتی مثل شناسه نصب Firebase استفاده میکنند که برای FCM استفاده میشود. بدون دسترسی به Keychain، ممکن است کیتهای توسعه نرمافزار Firebase
بهدرستی کار نکنند. دسته کلید macOS متفاوت از دسته کلید سبک iOS که در پلاتفرمهای دیگر (iOS، tvOS، macCatalyst، و watchOS) استفاده میشود رفتار میکند.
در macOS، برنامهها از یک دسته کلید مشترک استفاده میکنند که ممکن است توسط برنامهها و فرایندهای دیگر اصلاح شود. برخلاف iOS، هیچ دسته کلید جعبه امنی وجود ندارد که برنامه بهطور ضمنی به آن دسترسی داشته باشد. بنابراین، وقتی برنامه Mac با keychain تعامل میکند، سیستم
از کاربر درخواست دسترسی میکند زیرا ممکن است برنامه Mac درحال اصلاح موردی در keychain باشد
که خودش ایجاد نکرده است. برای رفع این مغایرت، Firebase با کلید kSecUseDataProtectionKeychain از keychain پرسوجو میکند، که به برنامه میگوید از یک مورد keychain که بخشی از گروه دسترسی keychain است پرسوجو کند (این رفتار پیشفرض در پلاتفرمهای دیگر است). قابلیت «همرسانی Keychain» لازم است زیرا برنامه برای ترکیب گروه دسترسی که میتواند بین هدفهایش همرسانی شود به آن نیاز دارد، بنابراین به برنامه اجازه میدهد آزادانه به موارد keychain در گروه دسترسی دسترسی داشته باشد.
برای اطلاعات بیشتر،
اسناد Keychain
Apple را ببینید.
در Xcode نسخههای ۱۳ و جدیدتر، چرا برنامههای UIKit من نمیتوانند برخیاز
نشانیهای وبی را که در Info.plist ثبت کردهام
باز کنند؟
Apple محدودیت ۵۰ ورودی LSApplicationQueriesSchemes را در فایلهای Info.plist معرفی کرده است. در سال ۲۰۱۵، Apple
LSApplicationQueriesSchemes را برای محدود کردن تعداد پُرسمانهای نشانی وب
که هر برنامه میتواند انجام دهد معرفی کرد. با انتشار Xcode 13، این محدودیتها اعمال میشوند،
درحالیکه در Xcode 12 و نسخههای قبلی محدودیت مؤثری برای تعداد
طرحها وجود نداشت.
برخیاز محصولات Firebase، مثل Firebase Authentication و Firebase Dynamic Links،
برای هدایت کردن به برنامه شما به استفاده از طرحوارههای نشانی وب سفارشی نیاز دارند. این نشانیهای وب از طرحواره نشانی وب مختصر و ثابتی پیروی میکنند که نباید بهطور قابلتوجهی در محدودیت ۵۰ طرحواره پیوند لحاظ شود.
توجه داشته باشید که برای برنامههایی که همچنان بیشاز ۵۰
LSApplicationQueriesSchemes ثبت میکنند، برخیاز طرحها
بدون اطلاع نادیده گرفته خواهند شد. ممکن است برنامه نتواند برخیاز پیوندهای عمیق را اجرا کند،
بسته به ترتیبی که اضافه شدهاند.
چه اعلامیههای متنبازی را باید در برنامهام بگنجانم؟
برای پلاتفرمهای Apple، کیت توسعه نرمافزار Firebase تحت پروانه Apache 2.0 توزیع میشود.