N.Hicheri
N.Hicheri

Reputation: 301

Firebase Module install on ios

I followed all instructions for integrating the new firebase release on ios:

  1. I downloaded the file GoogleService-Info.plist and include it in the project.

  2. I installed the framework with cocoapods

The problem is with this line:

@import Firebase;

Xcode prints this error:

"Module Firebase not found"

What is the solution?

My code :

#import "AppDelegate.h"

@import Firebase

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [FIRApp configure];

    // Override point for customization after application launch.
    return YES;
}

Upvotes: 20

Views: 39152

Answers (11)

Rudi
Rudi

Reputation: 4314

First check if you have $(inherited) flag in Target > Build Settings > Framework Search Paths

If you still have error, go throw these steps :

  1. Quit Xcode.
  2. Delete project's temp files located at ~/Users/YourUserName/Library(hidden one)/Developer/Xcode/DerivedData
  3. Delete ProjectName.xcworkspace
  4. Backup project's Podfile and delete Podfile.lock file and Pods folder
  5. Run pod init
  6. Replace your pervious Podfile with the new one.
  7. Finally run pod install

Now open the newly created ProjectName.xcworkspace file and build.

If you have problem in finding DerivedData location check this answer : https://stackoverflow.com/a/39495772/1572408

Upvotes: 0

adolphefrancois
adolphefrancois

Reputation: 131

Got the same issue on the import. My target's build settings overrode the 'Header search path' without the '$(inherited)' flag

'pod update' warns you about that.

  1. Open your target build settings
    target build settings
  1. In 'Header search paths' add a line containing $(inherited).

It solved the issue for me

Hope it helps

Upvotes: 13

aaltintop
aaltintop

Reputation: 188

I had the same problem. I found that the problem was I have three targets in Cocoapods file. And only my main one target has Firebase added. So that when I want to import Firebase to a file that is used in other targets, Xcode gives error and says Module 'Firebase' not found. This is my pods project file. One solution for me is adding Firebase pod to all targets. Or another solution is removing the file from other targets.

def common_pods
  pod 'XXX'
end

target 'myMainProject' do
  common_pods()
  pod 'Firebase/Core'
  pod 'Firebase/AdMob'
  pod 'Firebase/RemoteConfig'
  pod 'Firebase/Crashlytics'
  pod 'Firebase/Analytics'
end

target 'myExtention1' do
  common_pods()
end

target 'myextension2' do
  common_pods()
end

Upvotes: 2

Nimit
Nimit

Reputation: 97

I tried the above but sadly, nothing worked. Clean the build folder, clearing Xcode cache helped me. Try this:

  1. Quit Xcode.
  2. Delete project's temp files located at ~/Library/Developer/Xcode/DerivedData
  3. Delete ProjectName.xcworkspace
  4. Delete Podfile.lock file and Pods folder
  5. Run pod install.
  6. Open the newly created ProjectName.xcworkspace file and build.

Pay extensive attention to the 6th step. Open this newly created xcworkspace, not xcodeproj.

Original answer: https://stackoverflow.com/a/44486792/913601

Upvotes: 4

kiran
kiran

Reputation: 4409

Its work for me in this way.

using FirebaseCore/FirebaseCore.h

Try the below code.

#import "AppDelegate.h"
#import <FirebaseCore/FirebaseCore.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [FIRApp configure];
    return YES;
}

Upvotes: 7

Cristi Băluță
Cristi Băluță

Reputation: 1305

This is lame but i fixed integration problems by adding the sources to my project instead using pods. I had to manually fix few files too.

Upvotes: -2

Rubberduck
Rubberduck

Reputation: 1155

I ended up fixing it by using

#import <Firebase/Firebase.h>

instead of

@import Firebase

Upvotes: 23

Jayprakash Dubey
Jayprakash Dubey

Reputation: 36447

I had similar issue stating that FirebaseMessaging module not found in header even though I had correct Podfile configuration.

Screenshot 1

Solution is to remove Cocoapods from project and add it again.

You can remove CocoaPods from project using this link.

Thereafter, you can add CocoaPods again using this link.

Below is snapshot for Podfile that I have used.

Screenshot 2

Below snapshot shows log on dependencies that are installed using Pods.

Screenshot 3

Upvotes: 0

Ian Barber
Ian Barber

Reputation: 19970

There are two ways of adding the Firebase SDK to your iOS project. You can either use CocoaPods, in which case its really important to make sure your pod dependency is in the target you are using. E.g.

use_frameworks!
platform :ios, '7.0'
pod 'Firebase/Analytics'

target 'Target1' do
end
target 'Target2' do
end

There are a lot of different ways of configuring targets in CocoaPods, so your Podfile may look different. The important thing is that the target you specify is linked with the pod - in this case I have specified the Analytics pod so its available to all targets, but if I put it just in the Target1 do...end block, then it wouldn't be available in Target2.

If you're using the framework integration method, then make sure the libraries are specified in the Link Binary With Libraries section of your Build Phases tab. This should happen automatically if you drag them into a Frameworks group in Xcode.

Finally, if that doesn't work, Xcode may have cached something bad. Try opening the Product menu, hold down Option and click Clean build folder.

Upvotes: 0

dilip chaurasiya
dilip chaurasiya

Reputation: 23

update your pods. open terminal go to your project directory and type the following command

pod update

Upvotes: -4

Ethan Doan
Ethan Doan

Reputation: 31

I have same issue and found solution in here: iOS - Firebase error: Use of unresolved identifier FIRApp running supplied code

Doing the following steps on the terminal command line:

  1. pod repo update
  2. Commented the pod 'Firebase' line from my Podfile
  3. pod install (this removed the old Firebase)
  4. Added the pod 'Firebase' line again.
  5. pod install (added the new Firebase)

2nd and 3rd steps were the key I think, otherwise CocoaPods didn't try to update it. As I said maybe this could've been solved by doing pod update but now I can't go back and try again.

Upvotes: 1

Related Questions