هنگام توسعه برنامه Apple بااستفاده از Firebase، ممکن است با مفاهیمی آشنا شوید که ناآشنا یا مختص Firebase هستند. هدف این صفحه پاسخ دادن به این سؤالات یا اشاره به منابعی برای کسب اطلاعات بیشتر است.
اگر درباره موضوعی که در این صفحه پوشش داده نشده است سؤالی دارید، میتوانید به یکی از انجمنهای آنلاین ما مراجعه کنید. همچنین این صفحه را بهصورت دورهای با موضوعات جدید بهروز میکنیم، بنابراین برای دیدن اینکه آیا موضوع موردنظرتان برای یادگیری اضافه شده است یا نه، دوباره سر بزنید!
پشتیبانی کتابخانه Firebase براساس پلاتفرم
جدول زیر توضیح میدهد که کدام کتابخانههای Firebase با کدام پلاتفرمهای Apple سازگار هستند. درحالحاضر، visionOS و watchOS فقط ازسوی انجمن پشتیبانی میشوند. برای دستورالعملهای نصب و مشکلات شناختهشده، به مخزن GitHub کیت توسعه نرمافزار پلاتفرمهای Firebase Apple مراجعه کنید.
| کتابخانه | iOS | macOS | Mac Catalyst |
tvOS | visionOS | watchOS |
|---|---|---|---|---|---|---|
| A/B Testing | ||||||
| Firebase AI Logic ۱ | iOS 15+ | macOS نسخه ۱۲ و بالاتر | Catalyst 15+ | tvOS 15 و بالاتر (فقط پشتیبانی انجمن) | watchOS 8 و نسخههای جدیدتر | |
| Analytics | نسخه ۸.۹.۰ و بالاتر | نسخه ۸.۹.۰ و بالاتر | نسخه ۸.۹.۰ و بالاتر | |||
| Analytics بدون «شناسه تبلیغاتی» | نسخه ۸.۹.۰ و بالاتر | نسخه ۸.۹.۰ و بالاتر | نسخه ۸.۹.۰ و بالاتر | |||
| Analytics تبدیل دروندستگاهی | ||||||
| App Check ارائهدهنده DeviceCheck |
watchOS 9 یا جدیدتر | |||||
| App Check ارائهدهنده «گواهی برنامه» |
iOS 14 و نسخههای جدیدتر | macOS 11+ | Catalyst نسخه ۱۴ یا جدیدتر | tvOS 15+ | watchOS 9 یا جدیدتر | |
| 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 بارگیرنده مدل | ||||||
1 Firebase AI Logic قبلاً «Vertex AI in Firebase» نامیده میشد.
2 Firebase SQL Connect قبلاً «Firebase Data Connect» نامیده میشد.
کلیپهای برنامه
اکثر کتابخانههای Firebase در هدف «برنامه کلیپ» ساخته و اجرا میشوند، اما بسیاری از آنها بهدلیل محدودیتهای سیستمعامل زیرین محدود شدهاند. مشکلات شناختهشده عبارتاند از:
- اگر کاربران بدون نصب برنامه روی پیوندی ضربه بزنند، «پیوندهای پویا» نمیتواند آنها را به «برنامه کوچک» هدایت کند.
- Firestore و «پایگاه داده همزمان» بهدلیل وابستگی زیربنایی CFStream نمیتوانند دادهها را در «برنامکها» بار کنند.
برای مشاهده فهرست کامل مشکلات شناختهشده «برنامه کلیپ»، به مخزن Firebase GitHub مراجعه کنید.
GoogleService-Info.plist
بهعنوان بخشی از افزودن Firebase به پروژه Apple، باید فایل پیکربندی
GoogleService-Info.plist را به پروژهتان اضافه کنید. اگر میخواهید از چندین پروژه Firebase در یک برنامه استفاده کنید، به اسناد مربوط به پیکربندی چندین پروژه مراجعه کنید.
برای آشنایی با جزئیات بیشتر فرایند مقداردهی اولیه برنامه Firebase، به اسناد مرجع Swift مراجعه کنید.
مدیر بسته Swift
درباره ادغام «مدیر بسته Swift» در راهنمای ما بیشتر بدانید.
افزونههای Swift
افزونههای Swift کیت توسعه نرمافزار پلاتفرم Firebase Apple قبلاً افزونههای کوچک و متنباز برای کتابخانههای پلاتفرم Firebase Apple موجود بودند که کد شما را قادر میسازند از ویژگیهای خاص زبان Swift استفاده کند. این «میاناهای برنامهسازی کاربردی» از آن زمان مستقیماً به کتابخانههای اصلی اضافه شدهاند و نیازی نیست که بهصورت جداگانه اضافه شوند. اگر قبلاً در پایگاه کد خود کیت توسعه نرمافزار افزونه Swift داشتید، برای دستورالعملهای ارتقا، راهنمای انتقال را ببینید.
SwiftUI
Firebase کاملاً از SwiftUI پشتیبانی میکند، هرچند راهاندازی آن کمی با برنامههای UIKit متفاوت است تا Firebase بتواند در محیط کاملاً SwiftUI بهدرستی کار کند. برای جزئیات بیشتر، به این پست وبلاگ نوشته پیتر فریز نگاهی بیندازید.
برنامههای SwiftUI باید بهدلیل مشکلی شناختهشده، جایگزینی را غیرفعال کنند. برای جزئیات بیشتر، بخش جایگزینی نماینده برنامه را ببینید.
جایگزینی نماینده برنامه
Firebase برخیاز روشهای کلاس نماینده برنامه را در برنامهتان تغییر میدهد تا بهطور خودکار برخیاز سرویسهای Firebase را به برگشتیهای سیستمعامل، مثل FCM و نشان APNs، متصل کند. با افزودن پرچم FirebaseAppDelegateProxyEnabled در فایل Info.plist برنامه و تنظیم آن روی NO، میتوانید جایگزینی را در برنامهتان غیرفعال کنید.
چهار محصول Firebase از «جایگزینی نماینده برنامه» استفاده میکنند: Analytics، App Distribution، Authentication، و FCM. اگر در برنامهتان «جایگزینی» را غیرفعال کردهاید و از هریک از محصولات زیر استفاده میکنید، برای آشنایی با نحوه استفاده از محصول بدون جایگزینی، به راهنمای مختص محصول مراجعه کنید:
پشتیبانی از 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» در iOS نگهداری میکند. این شروعهای سریع را در Firebase GitHub عمومی ما مخزن شروع سریع پیدا کنید.
میتوانید هریک از شروعهای سریع را در Xcode باز کنید، سپس آنها را در دستگاه همراه یا شبیهساز اجرا کنید. یا میتوانید از این شروعهای سریع بهعنوان کد نمونه برای استفاده از «کیتهای توسعه نرمافزار Firebase» استفاده کنید.