Files
firebase-ios-sdk/Example/CombineSample/README.md
Peter Friese f9929d0a9a Combine: Add a sample app (#8113)
A SwiftUI app that shows how to use the Combine-enabled APIs in context.

The  app contains a basic drill-down menu navigation and a simple screen that shows how to use Anonymous Auth and authStateDidChangePublisher.

As we add more publishers, their use should be demonstrated in this app as well.

The app currently needs a prod Firebase project, so one of the next steps will be to enable it for local Emulators.

#no-changelog
2021-05-20 18:20:35 +02:00

1.9 KiB

Firebase & Combine Sample

This sample demonstrates how to use Firebase's Combine APIs.

How to use

Set up a Firebase project

  1. Create a new Firebase project via the Firebase console
  2. Enable the required Firebase services in the Firebase project you created in step 1
    • Firebase Authentication
      • Enable Anonymous Auth
  3. Register this demo app as an iOS project
  4. Download GoogleServices-Info.plist and drag it into your project (it's easiest if you place it just next to Info.plist)

Enable Combine

Currently, Combine support for Firebase is still under development, which is why we haven't enabled the respective Swift Package Manager products yet. You need to do so yourself:

In Package.swift, find the following lines:

    // TODO: Re-enable after API review passes.
    // .library(
    //   name: "FirebaseCombineSwift-Beta",
    //   targets: ["FirebaseCombineSwift"]
    // ),
    // .library(
    //   name: "FirebaseAuthCombineSwift-Beta",
    //   targets: ["FirebaseAuthCombineSwift"]
    // ),
    // .library(
    //   name: "FirebaseFunctionsCombineSwift-Beta",
    //   targets: ["FirebaseFunctionsCombineSwift"]
    // ),
    // .library(
    //   name: "FirebaseStorageCombineSwift-Beta",
    //   targets: ["FirebaseStorageCombineSwift"]
    // ),

and uncomment them:

   // TODO: Re-enable after API review passes.
   .library(
     name: "FirebaseCombineSwift-Beta",
     targets: ["FirebaseCombineSwift"]
   ),
   .library(
     name: "FirebaseAuthCombineSwift-Beta",
     targets: ["FirebaseAuthCombineSwift"]
   ),
   .library(
     name: "FirebaseFunctionsCombineSwift-Beta",
     targets: ["FirebaseFunctionsCombineSwift"]
   ),
   .library(
     name: "FirebaseStorageCombineSwift-Beta",
     targets: ["FirebaseStorageCombineSwift"]
   ),

The app should now compile.