Closed amoghj03 closed 8 months ago
There is no support offered for builds using modular_headers workarounds like you are doing, contrary to our install documentation:
pod 'Firebase', :modular_headers => true
pod 'FirebaseCoreInternal', :modular_headers => true
pod 'GoogleUtilities', :modular_headers => true
pod 'FirebaseCore', :modular_headers => true
But your build will work if you use up to date macOS and Xcode
version: 13.4.1/13F100
Issue
Compile error:
Project Files
Javascript
Click To Expand
#### `package.json`: ```json { "name": "Cruze", "version": "0.0.1", "private": true, "scripts": { "android": "react-native run-android", "ios": "react-native run-ios", "lint": "eslint .", "start": "react-native start", "test": "jest" }, "dependencies": { "@emotion/stylis": "^0.8.5", "@fortawesome/fontawesome-free": "^6.5.1", "@gorhom/bottom-sheet": "^4.6.0", "@mapbox/polyline": "^1.2.0", "@notifee/react-native": "^7.8.0", "@react-native-async-storage/async-storage": "^1.19.0", "@react-native-community/checkbox": "^0.5.16", "@react-native-community/cli-platform-android": "^11.3.7", "@react-native-community/clipboard": "^1.5.1", "@react-native-community/geolocation": "^3.0.6", "@react-native-community/masked-view": "^0.1.11", "@react-native-community/netinfo": "^9.4.1", "@react-native-firebase/app": "^18.3.0", "@react-native-firebase/messaging": "^18.3.0", "@react-native-google-signin/google-signin": "^11.0.0", "@react-native-picker/picker": "^2.5.0", "@react-navigation/drawer": "^6.6.3", "@react-navigation/native": "^6.1.7", "@react-navigation/stack": "^6.3.17", "@twotalltotems/react-native-otp-input": "^1.3.11", "axios": "^1.4.0", "deprecated-react-native-prop-types": "^4.2.1", "geolib": "^3.3.4", "i18next": "^23.4.4", "intl": "^1.2.5", "libphonenumber-js": "^1.10.44", "lodash": "^4.17.21", "lottie-react-native": "^6.4.1", "react": "18.2.0", "react-content-loader": "^6.2.1", "react-i18next": "^13.1.2", "react-native": "^0.72.4", "react-native-country-picker-modal": "^2.0.0", "react-native-device-number": "^1.0.7", "react-native-dropdown-picker": "^5.4.6", "react-native-floating-label-input": "^1.4.3", "react-native-fs": "^2.20.0", "react-native-gesture-handler": "^2.15.0", "react-native-image-picker": "^7.1.0", "react-native-immersive-mode": "^2.0.1", "react-native-linear-gradient": "^2.8.3", "react-native-localization": "^2.3.2", "react-native-localize": "^3.0.2", "react-native-maps": "^1.7.1", "react-native-modal": "^13.0.1", "react-native-phone-input": "^1.3.7", "react-native-ratings": "^8.1.0", "react-native-reanimated": "^3.6.2", "react-native-safe-area-context": "^4.7.1", "react-native-screens": "^3.24.0", "react-native-snap-carousel": "^3.9.1", "react-native-svg": "^14.1.0", "react-native-swiper": "^1.6.0", "react-native-toast-message": "^2.2.0", "react-native-toasty": "^2.0.0", "react-native-upi-payment": "^1.0.5", "react-native-vector-icons": "^7.1.0", "react-native-video": "^5.2.1", "react-redux": "^8.1.2", "reanimated-bottom-sheet": "^1.0.0-alpha.22", "redux": "^5.0.1", "redux-devtools-extension": "^2.13.9", "redux-persist": "^6.0.0", "redux-thunk": "^2.4.2", "rn-android-keyboard-adjust": "^2.1.2", "socket.io-client": "^2.3.0", "styled-components": "^6.0.7" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", "@react-native/eslint-config": "^0.72.2", "@react-native/metro-config": "^0.72.11", "@tsconfig/react-native": "^3.0.0", "@types/react": "^18.0.24", "@types/react-test-renderer": "^18.0.0", "babel-jest": "^29.2.1", "eslint": "^8.19.0", "jest": "^29.2.1", "metro-react-native-babel-preset": "0.76.8", "prettier": "^2.4.1", "react-test-renderer": "18.2.0", "typescript": "4.8.4" }, "engines": { "node": ">=16" } } ``` #### `firebase.json` for react-native-firebase v6: ```json # N/A ```
iOS
Click To Expand
#### `ios/Podfile`: - [ ] I'm not using Pods - [x] I'm using Pods and my Podfile looks like: ```ruby # Resolve react_native_pods.rb with node to allow for hoisting require Pod::Executable.execute_command('node', ['-p', 'require.resolve( "react-native/scripts/react_native_pods.rb", {paths: [process.argv[1]]}, )', __dir__]).strip platform :ios, min_ios_version_supported prepare_react_native_project! # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded # # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js` # ```js # module.exports = { # dependencies: { # ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), # ``` flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled linkage = ENV['USE_FRAMEWORKS'] if linkage != nil Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green use_frameworks! :linkage => linkage.to_sym end target 'Cruze' do config = use_native_modules! # Flags change depending on the env values. flags = get_default_flags() use_react_native!( :path => config[:reactNativePath], # Hermes is now enabled by default. Disable by setting this flag to false. :hermes_enabled => flags[:hermes_enabled], :fabric_enabled => flags[:fabric_enabled], # Enables Flipper. # # Note that if you have use_frameworks! enabled, Flipper will not work and # you should disable the next line. :flipper_configuration => flipper_config, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) pod 'Firebase', :modular_headers => true pod 'FirebaseCoreInternal', :modular_headers => true pod 'GoogleUtilities', :modular_headers => true pod 'FirebaseCore', :modular_headers => true $RNFirebaseAsStaticFramework = true target 'CruzeTests' do inherit! :complete # Pods for testing end post_install do |installer| # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 react_native_post_install( installer, config[:reactNativePath], :mac_catalyst_enabled => false ) __apply_Xcode_12_5_M1_post_install_workaround(installer) end end ``` #### `AppDelegate.m`: ```objc // N/A ```
Android
Click To Expand
#### Have you converted to AndroidX? - [ ] my application is an AndroidX application? - [ ] I am using `android/gradle.settings` `jetifier=true` for Android compatibility? - [ ] I am using the NPM package `jetifier` for react-native compatibility? #### `android/build.gradle`: ```groovy // N/A ``` #### `android/app/build.gradle`: ```groovy // N/A ``` #### `android/settings.gradle`: ```groovy // N/A ``` #### `MainApplication.java`: ```java // N/A ``` #### `AndroidManifest.xml`: ```xml ```
Environment
Click To Expand
**`react-native info` output:** ``` warn Package react-native-vector-icons contains invalid configuration: "dependency.assets" is not allowed. Please verify it's properly linked using "react-native config" command and contact the package maintainers about this. info Fetching system and libraries information... (node:22486) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency (Use `node --trace-warnings ...` to show where the warning was created) System: OS: macOS 12.7.3 CPU: (8) arm64 Apple M1 Memory: 768.44 MB / 16.00 GB Shell: version: 5.8.1 path: /bin/zsh Binaries: Node: version: 21.6.1 path: /opt/homebrew/bin/node Yarn: version: 1.22.21 path: /opt/homebrew/bin/yarn npm: version: 10.2.4 path: /opt/homebrew/bin/npm Watchman: version: 2024.01.22.00 path: /opt/homebrew/bin/watchman Managers: CocoaPods: version: 1.15.2 path: /opt/homebrew/bin/pod SDKs: iOS SDK: Platforms: - DriverKit 21.4 - iOS 15.5 - macOS 12.3 - tvOS 15.4 - watchOS 8.5 Android SDK: Not Found IDEs: Android Studio: 2022.3 AI-223.8836.35.2231.10406996 Xcode: version: 13.4.1/13F100 path: /usr/bin/xcodebuild Languages: Java: version: 20.0.1 path: /usr/bin/javac Ruby: version: 2.6.10 path: /usr/bin/ruby npmPackages: "@react-native-community/cli": Not Found react: installed: 18.2.0 wanted: 18.2.0 react-native: installed: 0.72.4 wanted: ^0.72.4 react-native-macos: Not Found npmGlobalPackages: "*react-native*": Not Found Android: hermesEnabled: true newArchEnabled: false iOS: hermesEnabled: true newArchEnabled: false (node:22486) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. ``` - **Platform that you're experiencing the issue on**: - [x] iOS - [ ] Android - [ ] **iOS** but have not tested behavior on Android - [ ] **Android** but have not tested behavior on iOS - [ ] Both - **`react-native-firebase` version you're using that has this issue:** - `18.3.0` - **`Firebase` module(s) you're using that has the issue:** - `messaging,app` - **Are you using `TypeScript`?** - `N`
React Native Firebase
andInvertase
on Twitter for updates on the library.