42

The problem:

I have a dynamic framework, which uses Firebase added by cocoapods. And I also have the App, which uses this dynamic framework. But when I try to build the project I got error Missing required module Firebase.

I tried the following:

  • remove derived data + clean
  • re-install pods
  • add 'Import paths' to the build settings (in this case I got error 'Library not loaded' in runtime)

My podfile:

target 'Project' do    
  ...
end
target 'Framework' do    
  pod 'Firebase/Core'
  pod 'Firebase/Auth'
end

The Framework is added to Embedded binaries and Linked Frameworks and Libraries.

Ilya Kharabet
  • 4,203
  • 3
  • 15
  • 29

4 Answers4

68

For anyone still having this issue, doing this solved it for me. Add this to your test target build settings.

HEADER_SEARCH_PATHS = "${SRCROOT}/Pods/Firebase/CoreOnly/Sources"

Full discussion can be found on firebase GitHub issues.

you can find HEADER_SEARCH_PATHS in Test Target > Build Settings > Search Paths > Header Search paths.

Just incase you cant find HEADER_SEARCH_PATHS in Build Settings, click the ALL button to show all settings.

knig_T
  • 1,916
  • 16
  • 16
33

Add the following to your test target:

HEADER_SEARCH_PATHS = "${PODS_ROOT}/Firebase/CoreOnly/Sources"

That’s in test target > Build Settings > Header Search Paths.

Jano
  • 62,815
  • 21
  • 164
  • 192
5

After adding test target, running:

pod install

and add to:

HEADER_SEARCH_PATHS = $(inherited)

fixed for me.

On Framework Search Path pod put all pod projects path automatically.

Of course, to podfile added this after last pod name:

target 'TestTargetName' do
  inherit! :search_paths
end
Shohin
  • 519
  • 8
  • 11
1

Nothing did help to me until

target 'TestTargetName' do
  
    pod 'Firebase/Storage'
  
end

I'm not sure what firebase does so I can't run tests (tests do not depend on firebase at all)

iago849
  • 1,818
  • 1
  • 13
  • 9