.NET bindings for Cloud Storage for Firebase on Apple platforms.
Storage bucket, reference, upload, download, metadata, listing, retry, observable task, and emulator APIs exposed by the Firebase Apple SDK.
These packages are thin bindings over the native Firebase Apple SDK. The native documentation is the source of truth for product behavior, Firebase console setup, quotas, policy requirements, and feature workflows.
- Firebase Apple setup: https://firebase.google.com/docs/ios/setup
- Cloud Storage for Firebase documentation: https://firebase.google.com/docs/storage/ios/start
- Package ID:
AdamE.Firebase.iOS.Storage - Managed namespace:
Firebase.Storage
Supported target frameworks include:
net9.0-iosnet10.0-iosnet9.0-maccatalystnet10.0-maccatalyst
When multi-targeting, condition package references so they restore only for Apple targets:
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios' Or $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">
<PackageReference Include="AdamE.Firebase.iOS.Storage" Version="x.y.z" />
</ItemGroup>dotnet add package AdamE.Firebase.iOS.StorageUse the official Firebase Apple docs for setup and usage. In .NET, call the equivalent APIs from the managed namespace listed above. Keep app-specific Firebase configuration, such as GoogleService-Info.plist, in the application project.
Most Firebase feature packages require AdamE.Firebase.iOS.Core and app startup should call Firebase.Core.App.Configure() before feature APIs are used. This is the .NET binding for native FirebaseApp.configure().
Firebase Apple SDKs are packaged as native xcframeworks. Applications should pin package versions intentionally and keep all AdamE.Firebase.iOS.* packages on the same major/minor Firebase line.
Avoid mixing unrelated Firebase binding package sets or mismatched Firebase native SDK lines in one application. That can cause duplicate symbols, linker failures, runtime loading failures, or undefined native SDK behavior.