Dieses Repository enthält den Quellcode für alle Firebase-SDKs der Apple-Plattform mit Ausnahme von FirebaseAnalytics.
Firebase ist eine App-Entwicklungsplattform mit Tools, die Sie beim Erstellen, Erweitern und Monetarisieren Ihrer App unterstützen. Weitere Informationen zu Firebase finden Sie auf der offiziellen Firebase-Website.
Einzelheiten zu den verschiedenen Installationsmethoden finden Sie in den folgenden Unterabschnitten. Sofern verfügbar, wird empfohlen, alle Bibliotheken mit einem Swift
Suffix zu installieren, um das beste Erlebnis beim Schreiben Ihrer App in Swift zu erzielen.
Standard-Pod-Installation
Swift-Paketmanager
Installation über das GitHub-Repo
Experimentelles Karthago
Anweisungen zur Standard-Pod-Installation finden Sie unter: https://firebase.google.com/docs/ios/setup.
Anweisungen zur Swift Package Manager-Unterstützung finden Sie in der Markdown-Datei SwiftPackageManager.md.
Diese Anweisungen können verwendet werden, um über andere Zweige, Tags oder Commits auf das Firebase-Repository zuzugreifen.
Anweisungen und Optionen zum Überschreiben von Pod-Quellspeicherorten finden Sie in der Podfile-Syntaxreferenz.
Alle offiziellen Veröffentlichungen sind in diesem Repo markiert und über CocoaPods verfügbar. Um auf einen lokalen Quell-Snapshot oder einen unveröffentlichten Zweig zuzugreifen, verwenden Sie Podfile-Anweisungen wie die folgenden:
So greifen Sie über einen Zweig auf FirebaseFirestore zu:
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'pod 'FirebaseFirestore', :git => 'https:// github.com/firebase/firebase-ios-sdk.git', :branch => 'main'
So greifen Sie über eine ausgecheckte Version des Firebase-ios-sdk-Repositorys auf FirebaseMessaging zu:
pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
Anweisungen für die experimentelle Carthage-Verteilung finden Sie unter Carthage.md.
Einzelheiten zur Verwendung von Firebase aus einem Framework oder einer Bibliothek finden Sie unter firebase_in_libraries.md.
Um Firebase-Software in diesem Repository zu entwickeln, stellen Sie sicher, dass Sie mindestens über die folgende Software verfügen:
Xcode 15.2 (oder höher)
CocoaPods ist immer noch die kanonische Art der Entwicklung, aber ein Großteil des Repos unterstützt jetzt die Entwicklung mit Swift Package Manager.
Installieren Sie Folgendes:
CocoaPods 1.12.0 (oder höher)
CocoaPods erzeugen
Für den Pod, den Sie entwickeln möchten:
pod gen Firebase{Name hier}.podspec --local-sources=./ --auto-open --platforms=ios
Hinweis: Wenn der CocoaPods-Cache veraltet ist, müssen Sie möglicherweise pod repo update
vor dem Befehl pod gen
ausführen.
Hinweis: Legen Sie die Option --platforms
auf macos
oder tvos
fest, um für diese Plattformen zu entwickeln/testen. Seit 10.2 verarbeitet Xcode plattformübergreifende CocoaPods-Arbeitsbereiche nicht mehr ordnungsgemäß.
Firestore verfügt über ein eigenständiges Xcode-Projekt. Siehe Firestore/README-Markdown-Datei.
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
Aktivieren Sie das Kontrollkästchen „Mac“ in den App-iOS-Build-Einstellungen
Signieren Sie die App auf der Registerkarte „Einstellungen – Signierung und Funktionen“.
Klicken Sie im Projektmanager auf Pods
Fügen Sie der iOS-Host-App und den Komponententestzielen Signierung hinzu
Wählen Sie das Schema Einheit-Einheit
Führen Sie es zum Erstellen und Testen aus
Alternativ können Sie die Anmeldung bei jedem Ziel deaktivieren:
Gehen Sie zur Registerkarte „Build-Einstellungen“.
Klicken Sie auf +
Wählen Sie Add User-Defined Setting
aus
Fügen Sie die Einstellung CODE_SIGNING_REQUIRED
mit dem Wert NO
hinzu
So aktivieren Sie Testschemata: ./scripts/setup_spm_tests.sh
open Package.swift
oder doppelklicken Sie im Finder auf Package.swift
.
Xcode öffnet das Projekt
Wählen Sie ein Schema für die Erstellung einer Bibliothek oder eine Testsuite zur Ausführung aus
Wählen Sie eine Zielplattform, indem Sie das Ausführungsziel zusammen mit dem Schema auswählen
Weitere Informationen finden Sie in der AddNewPod-Markdown-Datei.
Informationen zum Verwalten von Headern und Importen finden Sie in der Markdown-Datei „HeadersImports“.
Um sicherzustellen, dass der Code konsistent formatiert ist, führen Sie das Skript ./scripts/check.sh aus, bevor Sie einen Pull Request (PR) erstellen.
GitHub Actions überprüft, ob alle Codeänderungen stilkonform durchgeführt werden. clang-format
und mint
installieren:
brew install clang-format@19brew install mint
Wählen Sie ein Schema aus und drücken Sie Befehl-u, um eine Komponente zu erstellen und ihre Komponententests auszuführen.
Zum Ausführen der Beispiel-Apps und Integrationstests benötigen Sie eine gültige GoogleService-Info.plist
Datei. Das Firebase Xcode-Projekt enthält Dummy-Plist-Dateien ohne echte Werte, sie können jedoch durch echte Plist-Dateien ersetzt werden. So erhalten Sie Ihre eigenen GoogleService-Info.plist
Dateien:
Gehen Sie zur Firebase-Konsole
Erstellen Sie ein neues Firebase-Projekt, falls Sie noch keines haben
Erstellen Sie für jede Beispiel-App, die Sie testen möchten, eine neue Firebase-App mit der Bundle-ID der Beispiel-App (z. B. com.google.Database-Example
).
Laden Sie die resultierende GoogleService-Info.plist
herunter und fügen Sie sie dem Xcode-Projekt hinzu.
Anweisungen zur Generierung von Abdeckungsberichten finden Sie in der Markdown-Datei scripts/code_coverage_report/README.
In den folgenden Abschnitten finden Sie spezielle Anweisungen für diese Komponenten.
Informationen zur spezifischen Firebase Auth-Entwicklung finden Sie in der Auth-Beispiel-README-Datei mit Anweisungen zum Erstellen und Ausführen des FirebaseAuth-Pods sowie verschiedenen Beispielen und Tests.
Die Firebase-Datenbankintegrationstests können für einen lokal ausgeführten Datenbankemulator oder für eine Produktionsinstanz ausgeführt werden.
Um eine lokale Emulatorinstanz auszuführen, rufen Sie ./scripts/run_database_emulator.sh start
bevor Sie den Integrationstest ausführen.
Um eine Produktionsinstanz auszuführen, stellen Sie eine gültige GoogleServices-Info.plist
bereit und kopieren Sie sie nach FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
. Während der Ausführung Ihrer Tests muss Ihre Sicherheitsregel auf „Öffentlich“ eingestellt sein.
Firebase Dynamic Links ist veraltet und sollte nicht in neuen Projekten verwendet werden. Der Dienst wird am 25. August 2025 eingestellt.
Weitere Hinweise finden Sie in unserer FAQ-Dokumentation zur Einstellung dynamischer Links.
Informationen zur spezifischen Entwicklung von Firebase Performance Monitoring finden Sie in der Performance-README-Datei mit Anweisungen zum Erstellen des SDK und in der Performance-TestApp-README-Datei mit Anweisungen zur Integration von Performance in die Entwicklungstest-App.
Befolgen Sie zum Ausführen der Speicherintegrationstests die Anweisungen in StorageIntegration.swift.
Push-Benachrichtigungen können nur an speziell bereitgestellte App-IDs im Entwicklerportal zugestellt werden. Um den Empfang von Push-Benachrichtigungen zu testen, müssen Sie Folgendes tun:
Ändern Sie die Bundle-ID der Beispiel-App in eine, die Sie in Ihrem Apple Developer-Konto besitzen, und aktivieren Sie diese App-ID für Push-Benachrichtigungen.
Sie müssen außerdem Ihren APNs-Provider-Authentifizierungsschlüssel oder Ihr Zertifikat in die Firebase-Konsole unter Projekteinstellungen > Cloud Messaging > [Ihre Firebase-App] hochladen.
Stellen Sie sicher, dass Ihr iOS-Gerät als Testgerät zu Ihrem Apple Developer Portal hinzugefügt wird.
Der iOS-Simulator kann sich nicht für Remote-Benachrichtigungen registrieren und erhält keine Push-Benachrichtigungen. Um Push-Benachrichtigungen zu erhalten, befolgen Sie die oben genannten Schritte und führen Sie die App auf einem physischen Gerät aus.
Anweisungen zum Erstellen und Testen des SDK finden Sie in der README-Datei von Vertex AI für Firebase.
Firebase bietet offizielle Beta-Unterstützung für macOS, Catalyst und tvOS. visionOS und watchOS werden von der Community unterstützt. Vielen Dank an die Community-Beiträge für viele der Multi-Plattform-PRs.
Derzeit sind die meisten Firebase-Produkte auf allen Apple-Plattformen verfügbar. Insbesondere bei visionOS und watchOS gibt es noch einige Lücken. Einzelheiten zur aktuellen Supportmatrix finden Sie in dieser Tabelle in der Firebase-Dokumentation.
Sofern unterstützt, funktioniert visionOS wie erwartet, mit Ausnahme von Firestore über Swift Package Manager, wo die Verwendung der Quelldistribution erforderlich ist.
Um die Firestore-Quellverteilung zu aktivieren, beenden Sie Xcode und öffnen Sie das gewünschte Projekt über die Befehlszeile mit der Umgebungsvariablen FIREBASE_SOURCE_FIRESTORE
: open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj
. Um wieder die Binärdistribution von Firestore zu verwenden, beenden Sie Xcode und öffnen Sie Xcode wie gewohnt, ohne die Umgebungsvariable.
Dank der Beiträge der Community können viele Firebase-SDKs jetzt kompiliert werden, führen Unit-Tests durch und funktionieren auf watchOS. Sehen Sie sich das Beispiel der Independent Watch-App an.
Beachten Sie, dass watchOS von Firebase nicht offiziell unterstützt wird. Während wir mit GitHub Actions grundlegende Unit-Test-Probleme erkennen können, kann es einige Änderungen geben, bei denen das SDK unter watchOS nicht mehr wie erwartet funktioniert. Wenn Sie auf dieses Problem stoßen, melden Sie bitte ein Problem.
Während der App-Einrichtung in der Konsole gelangen Sie möglicherweise zu einem Schritt, in dem etwas wie „Überprüfen, ob die App mit unseren Servern kommuniziert hat“ erwähnt wird. Dies basiert auf Analytics und funktioniert nicht unter watchOS. Sie können die Meldung problemlos ignorieren und fortfahren . Die restlichen SDKs funktionieren dann wie erwartet.
watchOS bietet nur eingeschränkte Unterstützung. Aufgrund von watchOS-Einschränkungen werden Mach-Ausnahmen und Signalabstürze nicht aufgezeichnet. (Abstürze in SwiftUI werden als Mach-Ausnahmen generiert und daher nicht aufgezeichnet.)
Dank der Beiträge der Community bietet FirebaseCombineSwift Unterstützung für das Combine-Framework von Apple. Dieses Modul befindet sich derzeit in der Entwicklung und wird noch nicht für den Einsatz in Produktionsumgebungen unterstützt. Weitere Einzelheiten finden Sie in den Dokumenten.
Weitere Informationen zu den Firebase Apple SDK Open Source-Plänen und Anweisungen finden Sie unter Roadmap.
Weitere Informationen zum Mitwirken am Firebase Apple SDK finden Sie unter Mitwirken.
Der Inhalt dieses Repositorys ist unter der Apache-Lizenz, Version 2.0, lizenziert.
Ihre Nutzung von Firebase unterliegt den Nutzungsbedingungen für Firebase-Dienste.