How firebase/firebase-ios-sdk works
This repository is the Firebase Apple SDK: a collection of client libraries through which an app uses Firebase products. The principal workflow is app code calling a product API and receiving data, events, or task results; distinct product stages include authentication, database queries, file operations, AI generation, crash reporting, and app attestation. Firestore’s sampled query engine documents local index, cached-key, and full-scan execution strategies. Other product branches are included from the README, but their internal wiring was not sampled, so their links are intentionally limited.
Main entry points: query_engine.cc Local query engine · FIRDatabaseQuery.h Realtime Database · StorageReference.swift Cloud Storage · FIRAuth.h Authentication
Components 18
App services
- AI Logic
FirebaseAI/Sources/FirebaseAI.swift - Cloud Functions
Data products
- Cloud Firestore
- Local query engine
Firestore/core/src/local/query_engine.cc - Realtime Database
FirebaseDatabase/Sources/Public/FirebaseDatabase/FIRDatabaseQuery.h - Cloud Storage
FirebaseStorage/Sources/StorageReference.swift
Trust and delivery
- Authentication
FirebaseAuth/Sources/Public/FirebaseAuth/FIRAuth.h - App Check
FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheck.h - App Distribution
FirebaseAppDistribution/Sources/Public/FirebaseAppDistribution/FIRAppDistribution.h
Engagement and insights
- Cloud Messaging
- In-App Messaging
- Remote Config
- Analytics
FirebaseAnalytics/Sources/Analytics+SwiftUI.swift - Crashlytics
Crashlytics/Crashlytics/Public/FirebaseCrashlytics/FIRCrashlytics.h - Performance Monitoring
Other components
- App developer
- Firebase services
- Apple Keychain
Connections 19
- App developer → Authentication: uses API
- App developer → App Check: uses API
- App developer → AI Logic: requests generation
- App developer → Cloud Functions: calls functions
- App developer → Cloud Firestore: queries data
- Cloud Firestore → Local query engine: executes locally
- Local query engine → Firebase services: uses cached data
- App developer → Realtime Database: queries or observes
- Realtime Database → Firebase services: requests data
- App developer → Cloud Storage: uploads or downloads
- Cloud Storage → Firebase services: performs storage tasks
- App developer → Cloud Messaging: uses API
- App developer → In-App Messaging: uses API
- App developer → Remote Config: uses API
- App developer → Analytics: records events
- App developer → Crashlytics: reports crashes
- App developer → Performance Monitoring: uses API
- App developer → App Distribution: uses API
- Authentication → Apple Keychain: stores credentials