1

I saw these posts:

Error: RNFirebase core module was not found natively on iOS

RNFirebase core module was not found natively on iOS

RNFirebase core module was not found natively on iOS - Not fixed

Error message - RNFirebase core module was not found natively on iOS

None helped me. I am trying to upgrade from react-native-firebase v 5.6.0 to v6.

I followed the migration guide (https://rnfirebase.io/migrating-to-v6) but somehow my pods are not being installed.

If I add the RNFBApp pod manually like this

pod 'RNFBApp', :path => '../node_modules/@react-native-firebase/app'

Then I get this error

[!] CocoaPods could not find compatible versions for pod "Firebase/CoreOnly":
  In snapshot (Podfile.lock):
    Firebase/CoreOnly (= 6.3.0)

  In Podfile:
    RNFBApp (from `../node_modules/@react-native-firebase/app`) was resolved to 8.2.0, which depends on
      Firebase/CoreOnly (~> 6.27.0)


You have either:
 * changed the constraints of dependency `Firebase/CoreOnly` inside your development pod `RNFBApp`.
   You should run `pod update Firebase/CoreOnly` to apply changes you've made.

Edit: Here is my Podfile:

    # Uncomment the next line to define a global platform for your project
$RNFirebaseAsStaticFramework = true
platform :ios, '11.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
use_frameworks!

target 'project' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  #use_frameworks!
  #use_modular_headers!

  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
  pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/'
  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"  
  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
  pod 'RNCharts', :path => '../node_modules/react-native-charts-wrapper'
  pod 'QBImagePickerController', :path => '../node_modules/react-native-image-crop-picker/ios/QBImagePicker/QBImagePickerController.podspec'
  pod 'RNGestureHandler', :path => '../node_modules/react-native-gesture-handler'
  pod 'RNImageCropPicker', :path => '../node_modules/react-native-image-crop-picker'
  pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'
  pod 'react-native-splash-screen', :path => '../node_modules/react-native-splash-screen'
  pod 'react-native-netinfo', :path => '../node_modules/@react-native-community/netinfo'
  pod 'Firebase'

# pod 'Firebase/Core', '~> 6.3.0'
# pod 'Firebase/Messaging'
# pod 'Firebase/Analytics'
# pod 'Firebase/DynamicLinks'
# pod 'Firebase/Messaging', '~> 6.27.0'

# FBSDK
# pod 'FBSDKCoreKit'
# pod 'FBSDKLoginKit'
# pod 'FBSDKShareKit'

# RNGestureHandler
# RNVectorIcons

pre_install do |installer|
    installer.analysis_result.specifications.each do |s|
        s.swift_version = '5.0' unless s.swift_version
    end
end

#post_install do |installer|
#  rnfirebase = installer.pods_project.targets.find { |target| target.name == 'RNFirebase' }
#  rnfirebase.build_configurations.each do |config|
#    config.build_settings['HEADER_SEARCH_PATHS'] = '$(inherited) ${PODS_ROOT}/Headers/Public/**'
#  end
#end

use_native_modules!

end

If I do react-native run-ios I get this message at the beginning, I think it has something to do with this problem:

error Could not find the following native modules: RNFBApp, RNFBMessaging, RNScreens. Did you forget to run "pod install" ?

If I don't add the RNFBApp pod manually I don't get any error during pod install but when I run the app in the simulator I get RNFirebase core module was not found natively on ios error.

Also, in package.json I see the below react-native-firebase dependencies:

"@react-native-firebase/app": "^8.2.0",
"@react-native-firebase/messaging": "^7.1.4",

React-native version is 0.61.2 so I am assuming auto-linking should be doing its thing.

I remove Podfile.lock file and Pods folder then I do pod install --repo-update nothing changes.

Edit 2:

I was missing below 2 lines from my Podfile. Adding them made the podfile work.

Before the target 'project' do loop:

require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

And at the end of the loop:

use_native_modules!

Also, I removed below lines from the podfile as suggested in the documentation(https://rnfirebase.io/migrating-to-v6#removing-v5-from-ios):

pod 'Firebase/Core', '~> 6.3.0'

I removed the line below since autolinking now seems to be working:

pod 'RNFBApp', :path => '../node_modules/@react-native-firebase/app'

Added below line to the top of the pod file as suggested in the documentation(https://rnfirebase.io/#allow-ios-static-frameworks) to solve the

target has transitive dependencies that include statically linked binaries: (FirebaseCore, FirebaseCoreDiagnostics, GoogleDataTransport, FirebaseInstallations, FirebaseMessaging, and FirebaseInstanceID)

problem.

$RNFirebaseAsStaticFramework = true

When I do a fresh pod install installation is completed successfully but when the app is launched in the simulator I still get rnfirebase core module was not found natively on ios error.

Documentation tells to remove RNFirebase pod (https://rnfirebase.io/migrating-to-v6#remove-the-rnfirebase-pod) but the app still seems to look for it and can't find it.

What could be the problem?

Thanks

honor
  • 7,378
  • 10
  • 48
  • 76
  • Did you delete all related to `RNFirebase` from `Podfile` before upgrading? Are you using autolinking and what output do you have after `pod install` if you are not adding `pod 'RNFBApp'` manually? – Vadim Goroshevsky Jul 27 '20 at 14:45
  • hello @VadimGoroshevsky I added the info you requested. – honor Jul 27 '20 at 15:10
  • Try to delete `pod 'RNFBApp'`, `pod 'Firebase'`, `pod 'Firebase/Core', '~> 6.3.0'`. Issue with `RNImageCropPicker` can be resolved by updating it. If you are using react-native >= 0.60 use react-native-image-crop-picker version >= 0.25.0 – Vadim Goroshevsky Jul 27 '20 at 15:25
  • hello @VadimGoroshevsky thanks for the comment. actually that error is because of an error in the podspec of the image crop picker. I change from react/core to react-core and pod install finishes successfully. the error appears when I run the app in the simulator. – honor Jul 27 '20 at 16:01
  • react-native-firebase v6 uses autolinking, you shouldn't really touch the Podfile. In order to accomplish this kind of updates, I've always re-initialized the project from scratch and saved a lot of time. Yes you might have to redo some config, but it's a much cleaner way. – Davide Valdo Jul 27 '20 at 16:55
  • @DavideValdo re-initialise? what do you mean exactly? Thanks.. – honor Jul 27 '20 at 16:59
  • Create a new react-native project, install rnfirebase, install every library, configure libraries that don't support autolinking and copy-paste the code. – Davide Valdo Jul 27 '20 at 17:03
  • Also did you try deleting Podfile.lock and cleaning the .xcworkspace from XCode before buiding? – Davide Valdo Jul 27 '20 at 17:07
  • I did clear the lock file. Also in xcode from product menu i do clean build folder – honor Jul 27 '20 at 17:32
  • did you find any solution – Varun Naharia Oct 23 '20 at 16:38

0 Answers0