Use of unresolved identifier 'FIRDatabase' when using Firebase

15,487

Solution 1

You need to add

  pod 'Firebase/Database'

to your pod file as explained here

https://firebase.google.com/docs/database/ios/start

Here you can find which pod includes which feature Pods and Features

Solution 2

What worked for me, in addition to adding pod 'Firebase/Database', was (which is missing from the current docs):

import FirebaseDatabase

Tested with Xcode 7.3.1, CocoaPods 0.39.0 & 1.0.1 on macOS 10.11.5. To make sure you're doing this correctly, please make sure your Podfile.lock looks something like:

PODS:
  ...
  - FirebaseDatabase (3.0.1):
    - FirebaseAnalytics (~> 3.2)
  ...

P.S. I ran into CocoaPods issues that forced me to delete the derived data folder, so try that as well.

Solution 3

New syntax for using FIRDatabase:

Database.database().reference()

Solution 4

This worked for me

  1. Add pod 'Firebase/Database' to your pod file
  2. pod install
  3. Open XCode and Rebuild Project
Share:
15,487
MJQZ1347
Author by

MJQZ1347

Updated on June 21, 2022

Comments

  • MJQZ1347
    MJQZ1347 about 2 years

    Xcode tells me that FIRDatabaseis not an identifier. My code:

    import UIKit
    import Firebase
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
    
        var window: UIWindow?
    
        func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
            FIRApp.configure()
            FIRDatabase.database().persistenceEnabled = true // Use of unresolved identifier 'FIRDatabase'
            return true
        }
    }
    

    I am using:

    Xcode 7.2.1, Firebase 3.0.2, OSX 10.10.5

    Podfile content:

    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    use_frameworks!
    
    target 'myapp' do
    pod 'IQKeyboardManagerSwift', '<= 4.0.0'
    pod 'JSQMessagesViewController', '<= 7.3.1'
    pod 'Firebase'
    end