AdamE.Firebase.iOS.CloudFirestore 12.6.0

AdamE.Firebase.iOS.CloudFirestore

.NET bindings for Cloud Firestore on Apple platforms, for use from .NET iOS and Mac Catalyst apps.

What this package provides

This package binds the Cloud Firestore Apple SDK surface exposed in the Firebase.CloudFirestore namespace. It provides access to Firestore, collections, documents, queries, listeners, field values, batch writes, transactions, aggregate queries, and Firestore settings.

Use this package when you need:

  • document and collection access from C#
  • Firestore queries and snapshot listeners
  • document writes, updates, deletes, and batch writes
  • Firestore field values such as server timestamps and array operations

Most apps using this package also reference AdamE.Firebase.iOS.Core for Firebase app initialization.

Official Firebase documentation comes first

These packages are thin .NET bindings over the official Firebase Apple SDKs.

Use the official Firebase documentation as the starting point for:

  • Firebase configuration and platform setup
  • feature usage and behavioral guidance
  • troubleshooting and best practices

These bindings primarily:

Supported target frameworks

This package is intended for Apple platform TFMs such as:

  • net9.0-ios
  • net10.0-ios
  • net9.0-maccatalyst
  • net10.0-maccatalyst

When multi-targeting, condition the package reference so it only restores for Apple targets.

<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios' Or $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">
  <PackageReference Include="AdamE.Firebase.iOS.CloudFirestore" Version="12.6.0" />
</ItemGroup>

Installation

dotnet add package AdamE.Firebase.iOS.CloudFirestore

Basic usage

This package does not itself perform Firebase app initialization; call Firebase.Core.App.Configure() from the app before using Firebase feature APIs.

using System;
using System.Collections.Generic;
using Firebase.CloudFirestore;
using Firebase.Core;

App.Configure();

var firestore = Firestore.SharedInstance;
var document = firestore.GetCollection("notes").GetDocument("welcome");

document.SetData(new Dictionary<object, object>
{
    { "title", "Hello from Firestore" },
    { "updatedAt", FieldValue.ServerTimestamp },
});

document.GetDocument((snapshot, error) =>
{
    if (error is not null)
    {
        Console.WriteLine(error.LocalizedDescription);
        return;
    }

    Console.WriteLine(snapshot?.Exists);
});

Common companion packages

  • AdamE.Firebase.iOS.Core - Firebase app initialization.
  • AdamE.Firebase.iOS.Auth - commonly used when Firestore security rules depend on Firebase Authentication.

Firebase app configuration

Firebase apps commonly require app-specific configuration from your own Firebase project, such as GoogleService-Info.plist.

Keep app-specific Firebase configuration in the application project or sample app, not in reusable library projects.

If the official Firebase docs for this feature require additional setup, follow those docs first.

Package versioning rules (important)

Because Firebase Apple SDKs are packaged as native xcframeworks and distributed here through NuGet, consumers should explicitly pin package versions.

Due to packaging differences between CocoaPods and NuGet, it is highly recommended that applications follow these rules:

  1. Keep the MAJOR.MINOR version aligned across all Firebase packages in the app, for example 12.6.*.*.
  2. Then use the latest available PATCH.REVISION for each individual package.

Example:

<ItemGroup>
  <PackageReference Include="AdamE.Firebase.iOS.Core" Version="12.6.0.3" />
  <PackageReference Include="AdamE.Firebase.iOS.Auth" Version="12.6.0.2" />
  <PackageReference Include="AdamE.Firebase.iOS.CloudFirestore" Version="12.6.0.5" />
</ItemGroup>

Avoid mixing mismatched Firebase package lines such as 12.6.x.x with 12.5.x.x, or 12.x.x.x with 11.x.x.x. Doing so can lead to native dependency conflicts, duplicate symbols, runtime failures, or other undefined behavior.

Notes on native dependency conflicts

Google and Firebase Apple SDKs share native dependencies. Avoid mixing multiple unrelated binding packages that embed overlapping Google/Firebase native SDK binaries in the same app unless you are certain they are compatible.

API surface notes

The public namespace is Firebase.CloudFirestore. API names closely mirror the native Cloud Firestore SDK surface and expose Apple-native concepts such as NSDictionary, NSError, listeners, and callback-based completion handlers.

Repository / support

Support the project

Keeping Firebase Apple bindings current for .NET requires ongoing work across SDK updates, native dependency changes, and API surface maintenance.

If this package is valuable in your app or organization, sponsorship helps support continued maintenance and updates.

No packages depend on AdamE.Firebase.iOS.CloudFirestore.

.NET 9.0

.NET 9.0

.NET 10.0

.NET 10.0

Version Downloads Last updated
12.10.0 0 04/21/2026
12.9.0 0 04/21/2026
12.8.0 0 04/20/2026
12.7.0 0 04/19/2026
12.6.0 1 04/23/2026
12.5.0.4 0 12/24/2025
12.5.0.3 0 12/24/2025
12.5.0.2 0 12/24/2025
12.5.0.1 0 12/14/2025
12.5.0 0 12/11/2025
12.4.0 0 10/30/2025
12.3.0 0 09/21/2025
12.2.0 0 09/20/2025
12.1.0 0 09/19/2025
12.0.0 0 09/12/2025
11.15.0 0 09/12/2025
11.14.0 0 09/07/2025
11.13.0 0 09/07/2025
11.12.0 0 09/06/2025
11.11.0 0 09/06/2025
11.10.0.2 0 08/31/2025
11.10.0.1 0 08/30/2025
11.10.0 0 04/02/2025
11.9.0 0 04/01/2025
11.8.0 0 02/04/2025
11.7.0 0 02/04/2025
11.6.0 0 01/02/2025
11.5.0 0 01/02/2025
11.4.0.1 0 12/26/2024
11.4.0 0 12/25/2024
11.3.0 0 12/19/2024
11.2.0 0 12/18/2024
11.1.0 0 12/17/2024
11.0.0 0 04/22/2026
10.29.0.3 0 12/09/2024
10.29.0.1 0 10/18/2024
10.29.0 0 10/17/2024
10.28.0 0 10/16/2024
10.27.0 0 10/13/2024
10.25.0.1 1 04/22/2026
10.25.0 0 10/10/2024
10.24.0.3 0 10/10/2024
10.24.0.2 0 06/08/2024
10.24.0 0 04/30/2024
10.23.0 0 04/29/2024
10.22.0 0 04/29/2024
10.21.0 0 04/28/2024
10.20.0 0 04/27/2024
10.19.0 0 04/25/2024
10.18.0 0 04/23/2024
10.17.0 0 04/23/2024
10.16.0 0 04/12/2024