Saat mengembangkan aplikasi Apple menggunakan Firebase, Anda mungkin menemukan konsep yang tidak familier atau khusus untuk Firebase. Halaman ini bertujuan untuk menjawab pertanyaan tersebut atau mengarahkan Anda ke sumber daya untuk mempelajari lebih lanjut.
Jika Anda memiliki pertanyaan tentang topik yang tidak dibahas di halaman ini, silakan kunjungi salah satu komunitas online kami. Kami juga akan memperbarui halaman ini dengan topik baru secara berkala, jadi periksa kembali untuk melihat apakah kami telah menambahkan topik yang ingin Anda pelajari!
Dukungan pustaka Firebase berdasarkan platform
Tabel berikut menjelaskan pustaka Firebase mana yang kompatibel dengan platform Apple mana. Untuk saat ini, watchOS hanya didukung komunitas. Lihat repositori GitHub SDK platform Apple Firebase untuk petunjuk penginstalan dan masalah umum.
Perpustakaan | iOS | macOS | Mac Katalisator | tvOS | watchOS |
---|---|---|---|---|---|
Pengujian A/B | |||||
Analitik | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Analytics tanpa ID Iklan | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Konversi di perangkat Analytics | |||||
Penyedia App Check DeviceCheck | tonton OS 9+ | ||||
Penyedia Pengesahan Aplikasi Pemeriksaan Aplikasi | iOS 14+ | macOS 11+ | Katalis 14+ | tvOS 15+ | tontonOS 9+ |
Penyedia kustom dan debug App Check | |||||
Distribusi Aplikasi | |||||
Autentikasi | |||||
Toko Api Awan | |||||
Fungsi Awan | |||||
Pesan Awan | |||||
Penyimpanan awan | |||||
Crashlytics | |||||
Tautan Dinamis | |||||
Instalasi Firebase | |||||
Pengunduh Model Firebase ML | |||||
Perpesanan Dalam Aplikasi | |||||
Pemantauan Kinerja | |||||
Basis Data Waktu Nyata | |||||
Konfigurasi Jarak Jauh |
Klip Aplikasi
Sebagian besar pustaka Firebase akan dibuat dan dijalankan di target Cuplikan Aplikasi, namun, banyak yang dibatasi karena pembatasan OS yang mendasarinya. Masalah yang diketahui meliputi:
- Tautan Dinamis tidak dapat mengirim pengguna ke Cuplikan Aplikasi jika mereka mengetuk tautan tanpa menginstal aplikasi.
- Firestore dan Realtime Database tidak dapat memuat data di App Clips karena ketergantungan CFStream yang mendasarinya.
Lihat repositori Firebase GitHub untuk mengetahui daftar lengkap masalah App Clip yang diketahui.
GoogleService-Info.plist
Sebagai bagian dari penambahan Firebase ke proyek Apple, Anda perlu menambahkan file konfigurasi GoogleService-Info.plist
ke proyek Anda. Jika Anda ingin menggunakan beberapa proyek Firebase dalam satu aplikasi, kunjungi dokumentasi untuk mengonfigurasi beberapa proyek .
Lihat dokumentasi referensi Swift untuk mempelajari lebih lanjut tentang proses inisialisasi aplikasi Firebase.
Manajer Paket Swift
Pelajari lebih lanjut tentang integrasi Swift Package Manager di panduan kami .
Ekstensi Cepat
Ekstensi Firebase SDK platform Apple Swift adalah add-on sumber terbuka kecil untuk pustaka platform Firebase Apple yang ada yang memungkinkan kode Anda menggunakan fitur khusus bahasa Swift.
Kerangka ekstensi Swift berikut tersedia:
-
FirebaseAnalyticsSwift
-
FirebaseDatabaseSwift
-
FirebaseFirestoreSwift
-
FirebaseInAppMessagingSwift
(beta) -
FirebaseRemoteConfigSwift
Mulai dari Firebase 9.0, beberapa pustaka Firebase, termasuk antarmuka Objective-C-nya, diimplementasikan di Swift dan menyediakan fitur asli Swift tanpa menyertakan ketergantungan tambahan. SDK berikut menyediakan Swift API asli tanpa menggunakan SDK ekstensi:
-
FirebaseFunctions
-
FirebaseStorage
Anda dapat menginstal ekstensi Swift dengan CocoaPods atau dengan Swift Package Manager. Menggunakan CocoaPods, untuk memasang ekstensi Swift, masukkan ke dalam Podfile Anda seperti yang ditunjukkan di bawah ini.
pod 'FirebaseAnalyticsSwift', '~> 10.0'
pod 'FirebaseInAppMessagingSwift', '~> 10.0-beta'
pod 'FirebaseDatabaseSwift'
Dengan Swift Package Manager, impor pustaka ekstensi Swift yang diinginkan langsung dari repositori yang sama dengan SDK platform Apple Firebase.
SwiftUI
Firebase mendukung penuh SwiftUI, meskipun penyiapannya akan sedikit berbeda dari aplikasi UIKit agar Firebase berfungsi dengan benar di lingkungan SwiftUI sepenuhnya. Lihatlah posting blog ini oleh Peter Friese untuk lebih jelasnya.
Aplikasi SwiftUI harus menonaktifkan swizzling karena masalah umum . Lihat bagian swizzling delegasi aplikasi untuk lebih jelasnya.
Delegasi aplikasi berputar-putar
Firebase menggunakan beberapa metode di kelas delegasi aplikasi aplikasi Anda untuk secara otomatis menghubungkan layanan Firebase tertentu ke callback OS, seperti FCM dan token APN. Anda dapat menonaktifkan swizzling di aplikasi dengan menambahkan flag FirebaseAppDelegateProxyEnabled
di file Info.plist
aplikasi dan menyetelnya ke NO
.
Empat produk Firebase menggunakan App Delegate swizzling: Analytics, App Distribution, Authentication, dan FCM. Jika Anda telah menonaktifkan swizzling di aplikasi dan menggunakan salah satu produk berikut, lihat panduan khusus produk untuk mempelajari tentang cara menggunakan produk tanpa swizzling:
Mendukung iOS 14
iOS 14 menyertakan perubahan baru pada izin pengguna seputar pengidentifikasi iklan pengguna. Lihat panduan persiapan untuk iOS 14 untuk detail lebih lanjut tentang apakah aplikasi Anda mungkin terpengaruh atau tidak.
Sumber daya open source untuk SDK platform Apple Firebase
Firebase mendukung pengembangan sumber terbuka, dan kami mendorong kontribusi dan masukan dari komunitas.
SDK platform Apple Firebase
Semua SDK Firebase untuk platform Apple kecuali Analytics dikembangkan sebagai pustaka sumber terbuka di repositori publik Firebase GitHub kami.
FirebaseUI
FirebaseUI adalah sekumpulan library utilitas yang dibangun di atas Firebase, termasuk aliran drop-in UI untuk autentikasi dan utilitas data untuk Cloud Firestore dan Realtime Database. Lihat detail lebih lanjut tentang FirebaseUI di halaman GitHub kami.
Sampel quickstart
Firebase menyimpan kumpulan contoh quickstart untuk sebagian besar API Firebase di iOS. Temukan quickstart ini di repositori quickstart Firebase GitHub publik kami.
Anda dapat membuka setiap quickstart di Xcode, lalu menjalankannya di perangkat seluler atau simulator. Atau Anda dapat menggunakan quickstart ini sebagai contoh kode untuk menggunakan Firebase SDK.