firebase/FirebaseUI-iOS
56.7
Adequate · 1 October 2026
10.1k
lines of production code
Swift
with Objective-C, C
2
measurements over time
What this system is
This system is a comprehensive UI component library for Firebase on iOS, providing pre-built interfaces for authentication, real-time database queries, and cloud storage. It enables developers to integrate sign-in flows for providers like Google, Apple, and OAuth, bind UI tables and collections to Firebase data sources, and load images from storage with minimal code. The library supports both UIKit and SwiftUI, offering configurable components, localization, and multi-factor authentication handling across multiple Firebase SDK versions.
How it got here
2015–2017 — Swift migration and demo expansion
13 changes.
This period focused on establishing robust development workflows and tooling while migrating the project's sample applications to modern Swift. It introduced a new Swift-based demo app alongside an updated Objective-C version, both featuring comprehensive localization and support for FirebaseUI components like Storage and Chat.
2021–2025 — SwiftUI Auth and UI Data Source expansion
36 changes.
This period focused on building comprehensive SwiftUI authentication components, including support for multiple identity providers and multi-factor authentication, while introducing new data source classes for Firebase Database and Firestore to simplify UI synchronization. The work also involved updating existing Firebase UI frameworks for Swift Package Manager compatibility and expanding test coverage across the new and legacy modules.
Features
Add Apple Sign-In authentication support
Users can now sign in to their accounts using their Apple ID. This change introduces the necessary UI components (a dedicated 'Sign in with Apple' button) and backend service logic to handle the Apple authentication flow, including secure nonce generation and credential creation via the Firebase Authentication SDK.
FirebaseSwiftUI/FirebaseAppleSwiftUI/Sources/Services · high confidence
Add Facebook sign-in support for SwiftUI apps
This change introduces a new FirebaseFacebookSwiftUI package that enables Facebook authentication in SwiftUI applications. It provides a \SignInWithFacebookButton\ view component and a \FacebookProviderSwift\ implementation that integrates with the Facebook SDK. The implementation automatically handles App Tracking Transparency (ATT) by switching between limited and classic login flows based on user authorization status, and it supports both standard sign-in and reauthentication scenarios.
FirebaseSwiftUI/FirebaseFacebookSwiftUI · high confidence
Add Firebase Swift UI sample app configuration and localization
The Firebase Swift UI sample application now includes its core configuration files, enabling local development and testing. The app bundle is configured with entitlements for Apple Sign-In and associated domains (flutterfire-e2e-tests.firebaseapp.com, flutterfiretests.page.link), and the Info.plist defines URL schemes for Google and Facebook authentication, along with Facebook app credentials and background modes for notifications. Additionally, a localization file is provided that demonstrates how to override the default 'Sign in with Firebase' string to 'Firebase Sign up'.
samples/swiftui/FirebaseSwiftUISample/FirebaseSwiftUISample · high confidence
Add FirebaseUI SwiftUI sample app project
A new Xcode project for the FirebaseSwiftUISample has been added, providing a demo application that integrates FirebaseUI for SwiftUI. The project is configured to link against several FirebaseUI components, including FirebaseAuthSwiftUI, FirebaseGoogleSwiftUI, FirebaseFacebookSwiftUI, FirebaseTwitterSwiftUI, FirebasePhoneAuthSwiftUI, and FirebaseOAuthSwiftUI, along with the core FirebaseAppleSwiftUI framework.
samples/swiftui/FirebaseSwiftUISample/FirebaseSwiftUISample.xcodeproj · high confidence
Add Google Sign-In support to FirebaseUI SwiftUI
This change introduces a new FirebaseGoogleSwiftUI module that enables Google authentication within FirebaseUI for SwiftUI applications. It provides a \SignInWithGoogleButton\ view component that integrates with the existing \AuthService\ and handles sign-in flows, including MFA requirements and account conflict resolution, while leveraging the Google Sign-In SDK for credential creation.
FirebaseSwiftUI/FirebaseGoogleSwiftUI · high confidence
Add Swift chat sample using FirebaseUI data sources
The Chat sample directory now includes Swift implementations of the chat view controller and collection view cell. This sample demonstrates how to use FirebaseUI's FUICollectionViewDataSource to bind a collection view to a Firebase Database query, automatically handling cell population and layout for chat messages, including styling for sent versus received messages and handling keyboard appearance.
samples/swift/FirebaseUI-demo-swift/Samples/Chat · high confidence
Add Swift sample app for FirebaseUI
A new Swift-based demo application has been added to the samples directory, providing a concrete example of how to integrate FirebaseUI authentication in a modern Swift project. The sample includes the necessary configuration files, such as an entitlements file enabling Sign in with Apple, an Info.plist with placeholders for Facebook and Google OAuth reverse client IDs, and a basic AppDelegate that initializes Firebase. This gives Swift developers a starting point for testing and implementing Firebase authentication flows.
samples/swift/FirebaseUI-demo-swift · high confidence
Add SwiftUI view for Apple Sign-In
A new \SignInWithAppleButton\ view has been added to the Views layer, enabling users to sign in using their Apple ID. This component integrates with the existing \AuthService\ and handles Apple-specific authentication flows, including MFA challenges and account conflict resolution, directly within the view layer.
FirebaseSwiftUI/FirebaseAppleSwiftUI/Sources/Views · high confidence
Add Twitter sign-in support
Users can now sign in to their accounts using Twitter. This change introduces the Twitter authentication provider, including the necessary service classes to handle OAuth credentials and a SwiftUI button for initiating the sign-in flow, along with basic test coverage for the new module.
FirebaseSwiftUI/FirebaseTwitterSwiftUI · high confidence
Add generic OAuth sign-in support for GitHub, Microsoft, and Yahoo
This change introduces a new OAuth provider system within FirebaseOAuthSwiftUI, allowing users to sign in using third-party identity providers. The diff adds the core \OAuthProviderSwift\ class and a \GenericOAuthButton\ SwiftUI view that handles the sign-in flow, including MFA and account conflict handling at the view layer. Preset configurations are provided for GitHub, Microsoft, and Yahoo, each with specific scopes and custom parameters (e.g., 'prompt': 'consent' for Microsoft and Yahoo). An extension on \AuthService\ (\withOAuthSignIn\) allows registering these providers. This is a new capability for integrating OAuth providers into the FirebaseUI login flow.
FirebaseSwiftUI/FirebaseOAuthSwiftUI · high confidence
Add localizations and storyboard resources to Swift demo app
The Swift demo app now includes a LaunchScreen and Main storyboard, providing the visual structure for the samples list and chat views. Additionally, localization files (Localizable.strings) have been added for over 40 languages and regions, enabling the demo interface to display text in the user's preferred language.
samples/swift/FirebaseUI-demo-swift/Resources · high confidence
Add storyboard and localization resources to the Objective-C demo app
The FirebaseUI Objective-C demo app now includes its primary user interface layout in Main.storyboard, featuring a navigation controller, a sample list view, and a chat interface. Additionally, localization support has been added by introducing Localizable.strings files for over 40 language and region variants (such as en, es, fr, de, ja, zh, ar, and others), enabling the demo app to display text in the user's preferred language.
samples/objc/FirebaseUI-demo-objc/Resources · high confidence
Added Xcode project scheme for FirebaseStorageUI
The FirebaseStorageUI Xcode project now includes a shared scheme that configures the build, test, and archive actions for the FirebaseStorageUI framework and its associated unit tests. This allows developers to directly build, run, and test the library within Xcode without relying on external build systems or manual configuration.
FirebaseStorageUI/FirebaseStorageUI.xcodeproj · high confidence
Added Xcode scheme for FirebaseUI demo app
The FirebaseUI-demo-objc project now includes a defined Xcode scheme (FirebaseUI-demo-objc.xcscheme) that configures the build, test, launch, profile, analyze, and archive actions for the demo application. This allows developers to easily run, test, and debug the Objective-C FirebaseUI sample app directly from Xcode.
samples/objc/FirebaseUI-demo-objc.xcodeproj/xcshareddata · high confidence
Introduce FirebaseUI data source classes for iOS tables and collection views
FirebaseDatabaseUI now provides \FUITableViewDataSource\ and \FUICollectionViewDataSource\ (along with indexed variants) that automatically synchronize \UITableView\ and \UICollectionView\ contents with a Firebase Database query. These data sources handle insert, update, delete, and move operations to keep the UI in lockstep with the database, and include serialization logic to prevent crashes when batch updates are desynchronized from child events.
FirebaseDatabaseUI/Sources · high confidence
Introduce Firestore UI data sources for UITableView and UICollectionView
This change adds the initial implementation of \FUIFirestoreTableViewDataSource\ and \FUIFirestoreCollectionViewDataSource\ within the FirebaseFirestoreUI module. These data sources automatically bind a \UITableView\ or \UICollectionView\ to a Firestore query, handling real-time synchronization by diffing document snapshots and applying batched insert, delete, move, and reload animations to the UI. The implementation relies on new internal components, including \FUIBatchedArray\ for managing the query state and \FUISnapshotArrayDiff\ for computing the differences between query results, along with corresponding unit tests to verify the diffing logic.
FirebaseFirestoreUI/Sources · high confidence
Introduces configurable AuthService and AuthConfiguration for Firebase Auth UI
This change introduces a new \AuthService\ class and an \AuthConfiguration\ struct within the FirebaseAuthSwiftUI package, providing a centralized, configurable entry point for authentication flows. Users can now customize the authentication experience via \AuthConfiguration\, including options for MFA enforcement (enabling/disabling and selecting second factors like SMS/TOTP), anonymous user auto-upgrade, email link sign-in settings, custom branding (logo, language, strings bundle), and legal URLs (ToS, Privacy Policy). The \AuthService\ manages provider registration, navigation state, and authentication state, exposing methods for sign-in, re-authentication, and user management, while handling MFA resolution and error states internally.
FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Services · high confidence
New Firebase SwiftUI Example app added to e2eTest folder
A new Firebase SwiftUI example application has been added to the e2eTest directory, including its Xcode project configuration and build schemes. The app integrates multiple Firebase authentication UI libraries, including FirebaseAuthSwiftUI, FirebaseGoogleSwiftUI, FirebaseAppleSwiftUI, FirebaseFacebookSwiftUI, FirebaseOAuthSwiftUI, FirebasePhoneAuthSwiftUI, and FirebaseTwitterSwiftUI, along with FirebaseAuth and FirebaseCore. The project includes unit tests (FirebaseSwiftUIExampleTests) and UI tests (FirebaseSwiftUIExampleUITests), with the UI tests configured to run in random order and the unit tests configured to run in parallel.
e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExample.xcodeproj · high confidence
New Firebase SwiftUI sample app for end-to-end testing
A new Firebase SwiftUI example application has been added to the e2eTest directory to serve as a test harness for the Firebase Auth SwiftUI components. This sample app demonstrates the integration of multiple authentication providers, including Apple, Google, Facebook, Twitter, Phone, Email, and various OAuth providers (GitHub, Microsoft, Yahoo, and LINE). It is configured to run against the local Firebase Auth emulator and includes a dedicated TestView that supports command-line arguments to enable specific testing scenarios, such as legacy sign-in flows and multi-factor authentication.
e2eTest/FirebaseSwiftUIExample/FirebaseSwiftUIExample · high confidence
New Firebase SwiftUI sample app with automated launch script
A new sample application, FirebaseSwiftUISample, has been added to demonstrate Firebase integration using SwiftUI. The entry includes the Xcode project configuration, a GoogleService-Info.plist for Firebase connectivity, and a run-sample.sh shell script. This script automates the process of building, installing, and launching the app in an iOS simulator, handling device selection and environment setup to simplify running the demo.
samples/swiftui/FirebaseSwiftUISample · high confidence
New Multi-Factor Authentication (MFA) types and session models
The \FirebaseAuthSwiftUI\ library now exposes new public types to support multi-factor authentication flows. \SecondFactorType\ defines the available second factors (SMS and TOTP). \TOTPEnrollmentInfo\ provides details for TOTP setup, including the shared secret, QR code URL, and verification status. \EnrollmentSession\ represents the state of an MFA enrollment process, tracking its type, status (e.g., initiated, verification pending, completed), and expiration. \MFAHint\ and \MFARequired\ are introduced to identify available MFA factors and signal when MFA is required for authentication.
FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Auth · high confidence
New Objective-C chat sample with FirebaseUI integration
The Objective-C demo sample now includes a complete chat interface built with FirebaseUI. This adds a new view controller that connects to a Firebase Realtime Database node, displaying messages in a table view with a custom cell layout that distinguishes between the current user's messages and others. The sample also implements real-time data binding for the message list and allows authenticated users to send new messages via a text input field.
samples/objc/FirebaseUI-demo-objc/Samples/Chat · high confidence
New PhoneAuthButtonView component for phone authentication
A new \PhoneAuthButtonView\ component has been added to the Firebase Phone Auth SwiftUI package, providing a dedicated UI button for initiating phone authentication. This view integrates with the existing \AuthService\ to retrieve the localized login button label and uses the standard \AuthProviderButton\ with a phone-specific style, allowing users to easily trigger the phone sign-in flow within their app.
FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Views · high confidence
New SwiftUI authentication example views for FirebaseUI
The sample app now includes three new example views demonstrating different ways to integrate Firebase Authentication with SwiftUI. AuthPickerViewExample shows a basic flow using AuthPickerView to handle sign-in and account management. CustomViewExample provides a fully custom UI with email/password sign-up/sign-in forms and provider buttons via AuthService. UIKitEmbeddingExample demonstrates how to embed FirebaseSwiftUI authentication flows inside a UIKit container using UIHostingController.
samples/swiftui/FirebaseSwiftUISample/FirebaseSwiftUISample/Examples · high confidence
New SwiftUI sample app demonstrating Firebase Authentication integration
The FirebaseSwiftUISample application has been added to provide a reference implementation for integrating Firebase Authentication with SwiftUI. The sample includes an AppDelegate for configuring Firebase, handling deep links, and managing APNs tokens, alongside a ContentView that showcases three distinct usage patterns: using the pre-built AuthPickerView, building custom UI via AuthService, and embedding the SwiftUI authentication interface within a UIKit application. It demonstrates support for multiple sign-in providers including Apple, Google, Facebook, Twitter, Phone, Email, and various OAuth providers such as LINE, GitHub, Microsoft, and Yahoo.
samples/swiftui/FirebaseSwiftUISample/FirebaseSwiftUISample/Application · high confidence
New SwiftUI-based Firebase Auth UI components
The FirebaseAuthUIComponents module now provides a complete set of SwiftUI views for authentication flows, replacing previous implementations. This includes a reusable AuthProviderButton with configurable ProviderStyle for various identity providers (Google, Facebook, Apple, etc.), an AuthTextField with built-in validation support and secure field toggling, a CountrySelector for phone number input, and a VerificationCodeInputField for multi-digit code entry. The update also introduces a FormValidator system for input validation, a Color+Hex extension for theme customization, and bundled asset catalogs containing provider-specific icons and the Firebase Auth logo.
FirebaseSwiftUI/FirebaseAuthUIComponents · high confidence
New SwiftUI-based authentication UI components and flow management
This release introduces a complete set of SwiftUI views for the Firebase Authentication flow, replacing previous implementations. Key additions include an AuthPickerView for selecting sign-in methods, dedicated views for email/password, email link, and phone number authentication, and comprehensive support for Multi-Factor Authentication (MFA) enrollment, resolution, and management. The update also introduces an AccountConflictModifier to handle anonymous user upgrades and account linking automatically, along with a LegacySignInRecoveryView to assist users with existing accounts. Error handling is centralized via a reusable error alert modifier, and the UI now supports localization strings and configurable branding elements like logos.
FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Views · high confidence
New utility classes for string localization, phone validation, and common auth helpers
The FirebaseAuthSwiftUI package now includes new utility files in the Utils directory to support UI and authentication logic. StringUtils centralizes localized strings for authentication views (such as email, password, and sign-in labels) with a fallback mechanism to the module bundle, enabling consistent internationalization. PhoneUtils provides validation for phone numbers, ensuring they start with a plus sign and contain a valid number of digits. CommonUtils introduces helper functions for email validation, secure nonce generation, SHA-256 hashing, and URL query parameter parsing, along with a dummy Firebase configuration method for SwiftUI previews.
FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Utils · high confidence
Swift Storage sample now uses FirebaseStorageUISwift
The Storage demo in the FirebaseUI Swift sample app has been updated to use the new FirebaseStorageUISwift product. This change replaces the previous Objective-C-based FirebaseUI storage integration with a native Swift implementation, allowing Swift Package Manager users to access storage UI features directly within their Swift projects.
samples/swift/FirebaseUI-demo-swift/Samples · high confidence
Swift sample project adds FirebaseStorageUISwift and localizations
The FirebaseUI demo for Swift now includes the new FirebaseStorageUISwift framework, allowing Swift Package Manager users to see how to integrate storage UI components. The project also adds extensive localization support with string files for over 50 languages and regions, and updates the build configuration to reference FirebaseDatabaseUI, FirebaseFirestoreUI, and FirebaseStorageUI frameworks alongside the core Firebase SDKs.
samples/swift/FirebaseUI-demo-swift.xcodeproj · high confidence
Behavioural changes
FirebaseAuthSwiftUI updated to version 16.1.0 with new error handling and reauthentication flows
The FirebaseAuthSwiftUI library has been updated to version 16.1.0. This release introduces a comprehensive new error handling system via the AuthServiceError enum, which now provides type-safe contexts for various reauthentication scenarios (OAuth, email, email link, and phone) and detailed account conflict descriptions. These changes enable more robust user experience handling for complex authentication flows, such as multi-factor authentication and anonymous account upgrades, by providing specific error types that UI components can react to.
FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources · high confidence
FirebaseStorageUI public headers updated for Firebase 9+ and SPM compatibility
The public header files in FirebaseStorageUI have been updated to support both Firebase 8.x (CocoaPods) and Firebase 9.0+ (CocoaPods), as well as Swift Package Manager (SPM) builds. The headers now conditionally import \FirebaseStorage.h\ or \FirebaseStorage-Swift.h\ depending on availability, and use forward declarations for SPM to avoid Clang module scanner failures. This ensures that the \UIImageView+FirebaseStorage\, \FUIStorageImageLoader\, and related APIs compile correctly across different Firebase versions and package managers.
FirebaseStorageUI/Sources/Public · high confidence
FirebaseUI Objective-C demo app project structure and localization updates
The FirebaseUI Objective-C demo application project file has been updated to include a comprehensive set of localizable string files for numerous languages (including Arabic, Chinese variants, European languages, and others) and registers several custom view controllers for authentication flows, such as email entry, password sign-in, sign-up, recovery, verification, and auth picker. This reflects the sample app's alignment with recent FirebaseUI features for customizable authentication UI and internationalization support.
samples/objc/FirebaseUI-demo-objc.xcodeproj · medium confidence
FirebaseUI Storage sample adds progressive image loading and cache clearing
The Objective-C Storage demo now uses progressive decoding for images via SDWebImage, providing a smoother loading experience for remote storage files, and includes a new 'Clear Cache' button in the navigation bar that allows users to manually clear both memory and disk image caches.
samples/objc/FirebaseUI-demo-objc/Samples/Storage · high confidence
Introduce new Objective-C FirebaseUI demo application
The Objective-C sample application has been restructured and renamed to FirebaseUI-demo-objc. This update introduces a new app delegate (FUIAppDelegate) that initializes Firebase, a sample browser view controller (FUISamplesViewController) to navigate between demo features like Chat and Storage, and updated project configuration files including entitlements for Apple Sign-In and push notifications, as well as an Info.plist configured for Google and Facebook authentication flows.
samples/objc/FirebaseUI-demo-objc · high confidence
Migrate to string catalog for localization
The Firebase Auth SwiftUI library has migrated its localization resources from the legacy .strings format to the modern .xcstrings string catalog. This change consolidates all localized strings into a single, structured file, supporting a wide range of languages including Arabic, German, Spanish, French, and many others, ensuring consistent and up-to-date text across the authentication UI components.
FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Strings · high confidence
Phone authentication now supports custom navigation callbacks
The phone authentication service now allows developers to define custom behavior when the phone sign-in button is tapped. Instead of the default navigation to an enter-phone-number view, users can pass a closure to \withPhoneSignIn(onTap:)\ to handle the interaction, such as presenting a custom sheet or performing a different navigation action. This change introduces \PhoneAuthProviderAuthUI\ to encapsulate this callback logic and the associated UI button.
FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services · high confidence
Swift Package Manager compatibility and Firebase 9+ support for FirebaseStorageUI
FirebaseStorageUI now builds correctly with Swift Package Manager and supports Firebase SDK 9.x and later. The library introduces a Swift bridge (FirebaseStorageUISwift) that exposes native Swift APIs for loading images from Firebase Storage into UIImageViews, while the underlying Objective-C implementation has been updated to conditionally import FirebaseStorage headers to handle both legacy (8.x) and modern (9.0+) module structures. Additionally, progressive image loading is now gracefully degraded on Firebase 9+ to prevent crashes caused by the removal of internal fetcher access, ensuring stable image display without interruption.
FirebaseStorageUI/Sources · high confidence
Xcode project structures and schemes for FirebaseDatabaseUI and FirebaseFirestoreUI
The Xcode project files and shared schemes for the FirebaseDatabaseUI and FirebaseFirestoreUI frameworks have been updated. This change establishes the build configurations, source file references, and test targets for these UI components, ensuring they are correctly defined within the Xcode workspace for compilation and testing.
FirebaseDatabaseUI/FirebaseDatabaseUI.xcodeproj, FirebaseFirestoreUI/FirebaseFirestoreUI.xcodeproj · high confidence
Fixes
Added dummy GoogleService-Info.plist for samples
A placeholder GoogleService-Info.plist file has been added to the samples directory to support the Firebase UI demo application. This file contains dummy configuration values (such as client IDs and API keys) that allow the sample app to build and run without requiring a real Firebase project configuration, facilitating local development and testing of the sample code.
samples · high confidence
Test coverage
Added UI tests for the Firebase SwiftUI example app; Added end-to-end tests for Firebase Auth SwiftUI integration; Added initial test file for FirebaseAppleSwiftUI; Added initial test suite for FirebasePhoneAuthSwiftUI; Added unit tests for Firebase Storage UI image loading; Added unit tests for FirebaseAuthSwiftUI string localization and MFA enrollment data; Added unit tests for FirebaseDatabaseUI data sources and arrays.
Dependencies
FirebaseUI iOS 15.1.0 release with Swift 6 and Firebase 8+ compatibility
This update releases FirebaseUI for iOS version 15.1.0, introducing full compatibility with the Firebase iOS SDK versions 8.0 through 12.x and requiring Swift 6.0. The release mandates a minimum iOS deployment target of 13.0 for CocoaPods integration and iOS 17.0 for Swift Package Manager usage. It includes podspecs and SPM manifests for the Database, Firestore, and Storage UI libraries, ensuring they depend on the corresponding Firebase SDK subspecs within the supported version range.
(dependencies) · high confidence
Housekeeping
Repository maintenance and developer tooling updates
This change introduces several non-product files to improve the development workflow and repository hygiene. It adds \.clang-format\ and \.swiftformat\ configuration files to enforce consistent code style (Google Obj-C style and 2-space Swift indentation). A comprehensive \.gitignore\ is added to exclude build artifacts, Xcode user data, and generated files. New shell scripts are included: \format-swift.sh\ and \lint-swift.sh\ for running SwiftFormat, \test.sh\ and \local\_test.sh\ for running unit/UI tests via xcodebuild, and \release-swift.sh\ for managing semantic versioning and tagging of the SwiftUI packages. Documentation is updated with \CONTRIBUTING.md\ detailing the CLA and local testing steps, \AGENTS.md\ and \CLAUDE.md\ for AI agent guidance, and standard templates for issues and pull requests. The \README.md\ is also updated to reflect the current installation methods (SPM for SwiftUI, CocoaPods for UIKit) and minimum system requirements (iOS 17, Xcode 15).
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 65 → 57 (-8.7)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 97 → 95 (-1.3)
- Architecture 85 → 88 (+2.1)
- Maturity 62 → 66 (+4.0)
- Readiness 59 → 37 (-21.9)
- Security 68 → 78 (+9.2)
Resolved (2)
- Documentation: no installation or build instructions (README.md)
- Off-boarding risk: anonymized user #1
New (34)
- Assertions commented out: example (FirebaseSwiftUI/FirebaseAppleSwiftUI/Tests/FirebaseAppleSwiftUITests/FirebaseAppleSwiftUITests.swift)
- Assertions commented out: example (FirebaseSwiftUI/FirebaseAuthSwiftUI/Tests/FirebaseAuthSwiftUITests/FirebaseAuthSwiftUITests.swift)
- Assertions commented out: example (FirebaseSwiftUI/FirebaseFacebookSwiftUI/Tests/FirebaseFacebookSwiftUITests/FirebaseFacebookSwiftUITests.swift)
- Assertions commented out: example (FirebaseSwiftUI/FirebaseGoogleSwiftUI/Tests/FirebaseGoogleSwiftUITests/FirebaseGoogleSwiftUITests.swift)
- Assertions commented out: example (FirebaseSwiftUI/FirebaseOAuthSwiftUI/Tests/FirebaseOAuthSwiftUITests/FirebaseOAuthSwiftUITests.swift)
- Assertions commented out: example (FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Tests/FirebasePhoneAuthSwiftUITests/FirebasePhoneAuthSwiftUITests.swift)
- Assertions commented out: example (FirebaseSwiftUI/FirebaseTwitterSwiftUI/Tests/FirebaseTwitterSwiftUITests/FirebaseTwitterSwiftUITests.swift)
- AuthTextField.body (cognitive 22) (FirebaseSwiftUI/FirebaseAuthUIComponents/Sources/Components/AuthTextField.swift)
- AuthTextField.body (cyclomatic 16) (FirebaseSwiftUI/FirebaseAuthUIComponents/Sources/Components/AuthTextField.swift)
- Coverage not measured — Swift suite
- Duplicate intent with different signatures. Both types seem to represent the UI component for phone authentication. One is in Services (PhoneAuthProviderAuthUI) and one in Views (PhoneAuthButtonView). They both take an 'onTap' closure. It is unclear why two separate types exist for the same visual component with nearly identical initialization signatures (one adds @MainActor).
- Duplicated block (11 lines × 2) (FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Views/MFAEnrolmentView.swift)
- Duplicated block (13–15 lines × 3) (FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Views/MFAEnrolmentView.swift)
- Duplicated block (14 lines × 2) (FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Views/MFAEnrolmentView.swift)
- Duplicated block (17–19 lines × 3) (samples/swiftui/FirebaseSwiftUISample/FirebaseSwiftUISample/Application/ContentView.swift)
- Duplicated block (18 lines × 4) (FirebaseSwiftUI/FirebaseAppleSwiftUI/Sources/Views/SignInWithAppleButton.swift)
- Duplicated block (23 lines × 3) (FirebaseSwiftUI/FirebaseAppleSwiftUI/Sources/Views/SignInWithAppleButton.swift)
- Inconsistent parameter naming for provider dependencies. Most specific provider buttons (Apple, Twitter, GenericOAuth) use the generic external name 'provider', while Facebook and Google use specific names ('facebookProvider', 'googleProvider'). Phone auth uses a closure 'onTap' instead of a provider object entirely, which is a domain difference, but the inconsistency between 'provider' and 'facebookProvider'/'googleProvider' is notable.
- Inconsistent parameter naming for the same operation. One overload uses 'context' while the other uses 'with'. In Swift, when overloading methods, it is standard convention to use distinct external parameter names to disambiguate, but 'with' is often used for the primary/simplest case while 'context' implies a complex object. However, mixing 'context' and 'with' for what appears to be the same logical action (re-authentication) is slightly confusing compared to a pattern like 'reauthenticate(with: AuthCredential)' and 'reauthenticate(using: ReauthContext)' or similar.
- Members sharing a duplicated core (4 members, 50+ identical tokens) (FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Views/MFAEnrolmentView.swift)
- …and 14 more
Changes since last survey
- 10 commits — 8 feature/other, 2 fixes
By area
- (repo) — 6 commits
- (root) — 1 commit
- .github/workflows — 1 commit
- FirebaseSwiftUI/FirebaseAuthSwiftUI — 1 commit
- e2eTest/FirebaseSwiftUIExample — 1 commit
Notable commits
- fix: Merge pull request #1394 from firebase/fix/legacy-recovery-sheet
- fix: fix(auth): preserve AuthService in the authentication sheet environment
- change: Merge branch 'main' of https://github.com/firebase/FirebaseUI-iOS into codex/preserve-auth-service-in-sheet
- change: Merge pull request #1395 from firebase/dependabot/github_actions/actions/setup-java-6.0.1
- change: Merge pull request #1396 from firebase/dependabot/swift/github.com/firebase/firebase-ios-sdk-12.19.1
- change: Merge upstream main into codex/preserve-auth-service-in-sheet
- change: Preserve AuthService in the authentication sheet environment
- change: chore(deps): bump actions/setup-java from 6.0.0 to 6.0.1
- change: chore(deps): bump github.com/firebase/firebase-ios-sdk
- change: test(e2e): strengthen legacy recovery assertions after review
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
firebase/FirebaseUI-iOS was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 8cde671a9c5b5fd7f48153cd4c30228c5dd6b4db — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.