Google is committed to advancing racial equity for Black communities. See how.

Add Firebase to your iOS project

Prerequisites

  • Install the following:

    • Xcode 11.0 or later
    • CocoaPods 1.4.0 or later
  • Make sure that your project meets these requirements:

    • Your project must target iOS 8 or later.
  • Set up a physical iOS device or use the iOS simulator to run your app.

If you don't already have an Xcode project and just want to try out a Firebase product, you can download one of our quickstart samples.

Step 1: Create a Firebase project

Before you can add Firebase to your iOS app, you need to create a Firebase project to connect to your iOS app. Visit Understand Firebase Projects to learn more about Firebase projects.

Step 2: Register your app with Firebase

After you have a Firebase project, you can add your iOS app to it.

Visit Understand Firebase Projects to learn more about best practices and considerations for adding apps to a Firebase project, including how to handle multiple build variants.

  1. Go to the Firebase console.

  2. In the center of the project overview page, click the iOS icon () to launch the setup workflow.

    If you've already added an app to your Firebase project, click Add app to display the platform options.

  3. Enter your app's bundle ID in the iOS bundle ID field.

  4. (Optional) Enter other app information: App nickname and App Store ID.

  5. Click Register app.

Step 3: Add a Firebase configuration file

  1. Click Download GoogleService-Info.plist to obtain your Firebase iOS config file (GoogleService-Info.plist).

  2. Move your config file into the root of your Xcode project. If prompted, select to add the config file to all targets.

If you have multiple bundle IDs in your project, you must associate each bundle ID with a registered app in the Firebase console so that each app can have its own GoogleService-Info.plist file.

Step 4: Add Firebase SDKs to your app

We recommend using CocoaPods to install the Firebase libraries. However, if you'd rather not use CocoaPods, you can integrate the SDK frameworks directly or use the Swift Package Manager (beta).

Are you using one of the quickstart samples? The Xcode project and Podfile (with pods) are already present, but you'll still need to add your Firebase configuration file and install the pods.

  1. Create a Podfile if you don't already have one:

    cd your-project-directory
    pod init
  2. To your Podfile, add the Firebase pods that you want to use in your app.

    You can add any of the supported Firebase products to your iOS app.

    Analytics enabled

    # Add the Firebase pod for Google Analytics
    pod 'Firebase/Analytics'
    # Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Cloud Firestore pod 'Firebase/Auth' pod 'Firebase/Firestore'

    Analytics not enabled

    # Add the pods for the Firebase products you want to use in your app
    # For example, to use Firebase Authentication and Cloud Firestore
    pod 'Firebase/Auth'
    pod 'Firebase/Firestore'
  3. Install the pods, then open your .xcworkspace file to see the project in Xcode:

    pod install
    open your-project.xcworkspace

Step 5: Initialize Firebase in your app

The final step is to add initialization code to your application. You may have already done this as part of adding Firebase to your app. If you're using a quickstart sample project, this has been done for you.

  1. Import the Firebase module in your UIApplicationDelegate:

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. Configure a FirebaseApp shared instance, typically in your app's application:didFinishLaunchingWithOptions: method:

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. If you've included Firebase Analytics, you can run your app to send verification to the Firebase console that you've successfully installed Firebase.

That's it! You can skip ahead to the next steps.

Available pods

This section lists the Firebase products supported for iOS and their pods. Learn more about these Firebase iOS libraries:

Service or Product Pods Add Analytics?
AdMob pod 'Google-Mobile-Ads-SDK'
Analytics pod 'Firebase/Analytics'
App Distribution pod 'Firebase/AppDistribution'
Authentication pod 'Firebase/Auth'
Cloud Firestore pod 'Firebase/Firestore'
Cloud Functions for Firebase Client SDK pod 'Firebase/Functions'
Cloud Messaging pod 'Firebase/Messaging'
Cloud Storage pod 'Firebase/Storage'
Firebase Crashlytics pod 'Firebase/Crashlytics'
Dynamic Links pod 'Firebase/DynamicLinks'
In-App Messaging pod 'Firebase/InAppMessaging'
(required)
Firebase ML Vision APIs pod 'Firebase/MLVision'
Firebase ML Custom Model APIs pod 'Firebase/MLModelInterpreter'
Performance Monitoring pod 'Firebase/Performance'
Realtime Database pod 'Firebase/Database'
Remote Config pod 'Firebase/RemoteConfig'

Deprecated:

Service or Product Pods Details
ML Kit for Firebase: Image Labeling Model pod 'Firebase/MLVisionLabelModel' Migration Guide
ML Kit for Firebase: Barcode Scanning Model pod 'Firebase/MLVisionBarcodeModel' Migration Guide
ML Kit for Firebase: Text Recognition Model pod 'Firebase/MLVisionTextModel' Migration Guide
ML Kit for Firebase: Face Detection Model pod 'Firebase/MLVisionFaceModel' Migration Guide
ML Kit for Firebase: Object Detection and Tracking Model pod 'Firebase/MLVisionObjectDetection' Migration Guide
ML Kit for Firebase: Natural Language APIs pod 'Firebase/MLNaturalLanguage' Migration Guide
ML Kit for Firebase: Language Identification Model pod 'Firebase/MLNLLanguageID' Migration Guide
ML Kit for Firebase: Translate Model pod 'Firebase/MLNLTranslate' Migration Guide
ML Kit for Firebase: Smart Reply Model pod 'Firebase/MLNLSmartReply' Migration Guide
ML Kit for Firebase: AutoML Vision Edge API pod 'Firebase/MLVisionAutoML' Migration Guide

Integrate without CocoaPods

If you don't want to use Cocoapods, you can still take advantage of the Firebase SDKs by importing the frameworks directly or using the Swift Package Manager.

Frameworks

In addition to supporting the iOS platform, the zip now includes .xcframework files that add community-based Catalyst support. For details, see the Firebase iOS SDK README on GitHub .

  1. Download the framework SDK zip. This is a ~200MB file and might take some time to download.

  2. Unzip the file, then review the README for the Frameworks that you want to include in your app.

  3. Add the ObjC linker flag in your Other Linker Settings in your target's build settings.

Swift Package Manager

Swift Package Manager support is currently in beta. Follow the documentation on GitHub, and file any feedback to the GitHub issue tracker.

Next steps

Learn about Firebase:

Add Firebase services to your app: