0

In my react native project I am trying to add multiple firebase services, but I am getting an error

'FirebaseStorage/FirebaseStorage-Swift.h' file not found

Package.josn

"@react-native-firebase/app": "^16.4.3",
    "@react-native-firebase/auth": "^16.4.3",
    "@react-native-firebase/crashlytics": "^16.4.3",
    "@react-native-firebase/database": "^16.4.3",
    "@react-native-firebase/dynamic-links": "^16.4.3",
    "@react-native-firebase/firestore": "^16.4.3",
    "@react-native-firebase/messaging": "^16.4.3",
    "@react-native-firebase/storage": "^16.4.3",

Podfile

pod_folder = Pathname.new(__FILE__).dirname.realpath

pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

require File.join(File.dirname(`cd #{pod_folder} && node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
require File.join(File.dirname(`cd #{pod_folder} && node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods")
require File.join(File.dirname(`cd #{pod_folder} && node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules")

platform :ios, '12.1'

pod 'Firebase', :modular_headers => true
pod 'FirebaseCoreInternal', :modular_headers => true
pod 'GoogleUtilities', :modular_headers => true
pod 'FirebaseAppCheckInterop', :modular_headers => true
pod 'FirebaseAuthInterop', :modular_headers => true
pod 'FirebaseCore', :modular_headers => true
pod 'FirebaseCoreExtension', :modular_headers => true
pod 'GTMSessionFetcher', :modular_headers => true


require 'json'
podfile_properties = JSON.parse(File.read('./Podfile.properties.json')) rescue {}

target 'MyApp' do
  use_expo_modules!
  config = use_native_modules!

  use_react_native!(
    :path => config[:reactNativePath],
    :hermes_enabled => podfile_properties['expo.jsEngine'] == 'hermes'
  )

  target 'MyAppTests' do
    inherit! :complete
    # Pods for testing
  end

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable these next few lines.
  use_flipper!({ 'Flipper' => '0.95.0', 'Flipper-Folly' => '2.6.7', 'Flipper-DoubleConversion' => '3.1.7' })
    post_install do |installer|
      installer.pods_project.build_configurations.each do |config|
        config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.1'
            ## Fix for XCode 12.5
            find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
            "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
            find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
                "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
      end
      react_native_post_install(installer)
    endMyApp
end

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end

If I delete the @react-native-firebase/storage module the app works again.

4
  • Are you using use_framework!? Commented Nov 11, 2022 at 8:13
  • No, should I use it? Commented Nov 11, 2022 at 8:28
  • @VuPhung I added the complete Podfile content Commented Nov 11, 2022 at 8:42
  • Yep, it's required. Detail here: github.com/invertase/react-native-firebase/issues/… Commented Nov 11, 2022 at 8:44

1 Answer 1

1

May be you need change something in Podfile:

Replacing use_frameworks! by use_frameworks! :linkage => :static Moving $RNFirebaseAsStaticFramework = true from top of file to next line of use_frameworks Uncomment line :flipper_configuration => FlipperConfiguration.enabled, & replace enabled with disabled

More information: https://github.com/invertase/react-native-firebase/issues/6382#issuecomment-1276756506

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.