آشنایی با Firebase در پلاتفرم‌های Apple

هنگامی که برنامه Apple خود را بااستفاده از Firebase توسعه می‌دهید، ممکن است با مفاهیمی آشنا شوید که برای Firebase ناآشنا یا خاص هستند. هدف این صفحه پاسخ دادن به این پرسش‌ها یا راهنمایی شما به منابعی برای کسب اطلاعات بیشتر است.

اگر درباره موضوعی که در این صفحه پوشش داده نشده است سؤالی دارید، می‌توانید به یکی از انجمن‌های آنلاین ما مراجعه کنید. همچنین این صفحه را به‌طور دوره‌ای با موضوعات جدید به‌روز می‌کنیم، بنابراین دوباره سر بزنید تا ببینید آیا موضوعی را که می‌خواهید درباره آن یاد بگیرید اضافه کرده‌ایم یا نه!

پشتیبانی کتابخانه Firebase براساس پلاتفرم

جدول زیر توضیح می‌دهد که کدام کتابخانه‌های Firebase با کدام پلاتفرم‌های Apple سازگار هستند. درحال‌حاضر، visionOS و watchOS فقط توسط انجمن پشتیبانی می‌شوند. برای دستورالعمل‌های نصب و مشکلات شناخته‌شده، مخزن GitHub کیت توسعه نرم‌افزار پلاتفرم‌های Apple در Firebase را ببینید.

کتابخانه iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic ۱ iOS 15+‎ macOS نسخه ۱۲ به بالا Catalyst ‏۱۵ سال به بالا ‫tvOS 15 و بالاتر (فقط پشتیبانی انجمن) watchOS 8+‎
Analytics نسخه ۸.۹.۰ به بالا نسخه ۸.۹.۰+ نسخه ۸.۹.۰+
‫Analytics بدون شناسه تبلیغاتی نسخه ۸.۹.۰+ نسخه ۸.۹.۰+ نسخه ۸.۹.۰+
تبدیل درون‌دستگاهی Analytics
App Check
ارائه‌دهنده DeviceCheck
watchOS نسخه ۹ یا جدیدتر
App Check
ارائه‌دهنده App Attest
iOS 14+‎ ‫macOS نسخه ۱۱ به بالا Catalyst 14+‎ tvOS 15+‎ watchOS نسخه ۹ یا جدیدتر
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 ۲
کتابخانه‌های منسوخ‌شده یا پشتیبانی‌نشده
Dynamic Links
بارگیرنده مدل Firebase ML

۱ Firebase AI Logic قبلاً «Vertex AI in Firebase» نامیده می‌شد.

۲ Firebase SQL Connect قبلاً «Firebase Data Connect» نامیده می‌شد.

کلیپ‌های برنامه

اکثر کتابخانه‌های Firebase در هدف App Clip ساخته و اجرا می‌شوند، اما بسیاری از آن‌ها به‌دلیل محدودیت‌های سیستم‌عامل زیربنایی محدود شده‌اند. مشکلات شناخته‌شده عبارت‌اند از:

  • اگر کاربران روی پیوندی ضربه بزنند و برنامه نصب نشده باشد، «پیوندهای پویا» نمی‌تواند کاربران را به «برش برنامه» ارسال کند.
  • Firestore و Realtime Database به‌دلیل وابستگی CFStream زیربنایی نمی‌توانند داده‌ها را در App Clips بار کنند.

برای مشاهده فهرست کامل مشکلات شناخته‌شده «برش برنامه»، مخزن Firebase GitHub را ببینید.

GoogleService-Info.plist

به‌عنوان بخشی از افزودن Firebase به پروژه Apple، باید فایل پیکربندی GoogleService-Info.plist را به پروژه‌تان اضافه کنید. اگر می‌خواهید از چند پروژه Firebase در یک برنامه استفاده کنید، به سند مربوط به پیکربندی چند پروژه مراجعه کنید.

برای آشنایی بیشتر با جزئیات فرایند مقداردهی اولیه برنامه Firebase، سند مرجع Swift را ببینید.

Swift Package Manager

در راهنمای ما درباره ادغام Swift Package Manager بیشتر بدانید.

افزونه‌های Swift

افزونه‌های Swift کیت توسعه نرم‌افزار پلاتفرم Apple در Firebase قبلاً برافزاهای کوچک و متن‌باز برای کتابخانه‌های پلاتفرم Apple در Firebase بودند که به کد شما امکان می‌دادند از ویژگی‌های خاص زبان Swift استفاده کند. این میاناهای برنامه‌سازی کاربردی از آن زمان مستقیماً به کتابخانه‌های اصلی اضافه شده‌اند و نیازی نیست به‌طور جداگانه گنجانده شوند. اگر قبلاً کیت توسعه نرم‌افزار افزونه Swift در پایگاه کدتان داشتید، برای دستورالعمل‌های ارتقا به راهنمای انتقال مراجعه کنید.

SwiftUI

‫Firebase به‌طور کامل از SwiftUI پشتیبانی می‌کند، هرچند راه‌اندازی آن کمی با برنامه‌های UIKit متفاوت خواهد بود تا Firebase بتواند به‌درستی در محیط کاملاً SwiftUI عمل کند. برای جزئیات بیشتر، به این پست وبلاگ نوشته پیتر فریز نگاهی بیندازید.

برنامه‌های SwiftUI باید به‌دلیل مشکل شناخته‌شده، swizzling را غیرفعال کنند. برای جزئیات بیشتر، بخش app delegate swizzling را ببینید.

سویزلینگ نماینده برنامه

‫Firebase برخی‌از روش‌ها را در کلاس نماینده برنامه شما جابه‌جا می‌کند تا به‌طور خودکار سرویس‌های Firebase خاصی را به بازخوان‌های سیستم‌عامل، مانند FCM و توکن APN، متصل کند. می‌توانید با افزودن پرچم FirebaseAppDelegateProxyEnabled در فایل Info.plist برنامه و تنظیم آن روی NO، swizzling را در برنامه‌تان غیرفعال کنید.

چهار محصول Firebase از App Delegate swizzling استفاده می‌کنند: Analytics، App Distribution، Authentication، و FCM. اگر swizzling را در برنامه‌تان غیرفعال کرده‌اید و از هریک از محصولات زیر استفاده می‌کنید، به راهنمای مختص محصول مراجعه کنید تا با نحوه استفاده از محصول بدون swizzling آشنا شوید:

پشتیبانی از iOS 14

iOS 14 شامل تغییرات جدیدی در اجازه‌های کاربر دررابطه‌با شناسه تبلیغاتی کاربر است. برای جزئیات بیشتر درباره اینکه آیا برنامه‌تان تحت‌تأثیر قرار می‌گیرد یا نه، راهنمای آماده‌سازی برای iOS 14 را ببینید.

پشتیبانی مداوم از Objective-C

برای تسهیل نگهداری اسناد پلاتفرم‌های Apple، ‏Firebase تصمیم گرفته است بر قطعه‌های Swift و نمونه‌های کد در راهنماها و سایر مطالب توسعه‌دهنده تمرکز کند. از ۱ ژانویه ۲۰۲۴، قطعه‌های Objective-C از راهنماهای ما برداشته خواهد شد. ما همچنان به حفظ به‌روز بودن مستندات مرجع برای Objective-C برای همه محصولات Firebase ادامه خواهیم داد.

منابع متن‌باز برای کیت‌های توسعه نرم‌افزار پلاتفرم Firebase Apple

Firebase از توسعه متن‌باز پشتیبانی می‌کند و ما همیاری‌ها و بازخوردهای انجمن را تشویق می‌کنیم.

کیت‌های توسعه نرم‌افزار پلاتفرم Firebase Apple

همه کیت‌های توسعه نرم‌افزار Firebase برای پلاتفرم‌های Apple به‌جز Analytics به‌عنوان کتابخانه‌های متن‌باز در مخزن عمومی Firebase GitHub ما توسعه یافته‌اند.

FirebaseUI

FirebaseUI مجموعه‌ای از کتابخانه‌های کاربردی است که روی Firebase ساخته شده است، ازجمله یک جریان واسط کاربر آماده برای اصالت‌سنجی و ابزارهای داده برای Cloud Firestore و Realtime Database. جزئیات بیشتر درباره FirebaseUI را در صفحه GitHub ما ببینید.

نمونه‌های شروع سریع

Firebase مجموعه‌ای از نمونه‌های شروع سریع را برای اکثر Firebase API در iOS نگهداری می‌کند. این شروع‌های سریع را در مخزن شروع سریع عمومی Firebase GitHub ما پیدا کنید.

می‌توانید هر شروع سریع را در Xcode باز کنید، سپس آن‌ها را در دستگاه همراه یا شبیه‌ساز اجرا کنید. یا می‌توانید از این شروع‌های سریع به‌عنوان کد نمونه برای استفاده از کیت‌های توسعه نرم‌افزار Firebase استفاده کنید.