I am trying to get react-native-firebase to work on Expo SDK 33 with messaging, notifications, analytics and remote-config. However, I'm running into this issue when running pod install:

It seems that the GoogleUtilities module isn't installed right, as it re-installs it every time, and gives this warning. I could not find other issues about this.
When I try to build, it can't find some files, like this one:

Podfile contents.Click To Expand
#### `ios/Podfile`: - [ ] I'm not using Pods - [x] I'm using Pods and my Podfile looks like:
pod 'ExpoKit',
:git => "http://github.com/expo/expo.git",
:tag => "ios/2.11.1",
:subspecs => [
"Core"
],
:inhibit_warnings => true
#PACKAGE: react-native-firebase
pod 'Firebase/Core', '~> 5.20.2'
pod 'GoogleIDFASupport', '~> 3.14.0'
pod 'Firebase/Messaging', '~> 5.20.1'
pod 'Firebase/RemoteConfig', '~> 5.20.1'
# Install unimodules
require_relative '../node_modules/react-native-unimodules/cocoapods.rb'
use_unimodules!
...
#### `AppDelegate.m`:
// N/A
Click To Expand
#### `android/build.gradle`:
// N/A
#### `android/app/build.gradle`:
// N/A
#### `android/settings.gradle`:
// N/A
#### `MainApplication.java`:
// N/A
#### `AndroidManifest.xml`:
<!-- N/A -->
Click To Expand
**`react-native info` output:**
React Native Environment Info:
System:
OS: macOS 10.14.5
CPU: (8) x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
Memory: 1.27 GB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.15.3 - /usr/local/bin/node
Yarn: 1.16.0 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 21, 22, 23, 25, 26, 27, 28
Build Tools: 23.0.1, 24.0.1, 27.0.3, 28.0.2, 28.0.3
System Images: android-24 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-28 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.3 AI-182.5107.16.33.5264788
Xcode: 10.2/10E125 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz => 0.59.8
npmGlobalPackages:
react-native-cli: 2.0.1
- **Platform that you're experiencing the issue on**:
- [x] iOS
- [ ] Android
- [x] **iOS** but have not tested behavior on Android
- [ ] **Android** but have not tested behavior on iOS
- [ ] Both
- **`Firebase` module(s) you're using that has the issue:**
- firebase core + analytics
- **Are you using `TypeScript`?**
- No, flow.
Think react-native-firebase is great? Please consider supporting all of the project maintainers and contributors by donating via our Open Collective where all contributors can submit expenses. [Learn More]
React Native Firebase and Invertase on Twitter for updates on the library.Updating your podfile to include use_unimodules!(exclude: ['expo-face-detector']) will fix this. There is a version clash for the GoogleUtilities pod which results in the pod not installing properly https://github.com/expo/expo/issues/4493
Also, the 5.x.x (as the only one supporting RN 59), asks to update from
com.android.tools.build:gradle:3.3.2 (by default in expo) to com.android.tools.build:gradle:3.4.1. Not sure if it will work. Is there any workarounds?
Not sure if it will work
Try it and report - should work
@mikehardy it doesn't work. com.android.tools.build:gradle:3.4.1 requires grandle 5.x.x which isn't compatible w/ expo 33 build configuration (it relies on grandle 4.x.x)
when trying to build it w/ com.android.tools.build:gradle:3.3.2, I'm having the following issue:
Error: Type com.google.android.gms.internal.measurement.zzk is referenced as an interface from com.google.android.gms.internal.measurement.zzn.
You can test it by running my project: https://github.com/n-sviridenko/expo-firebase-demo:
git clone [email protected]:n-sviridenko/expo-firebase-demo.git
cd expo-firebase-demo
yarn
android folder in Android StudioThe commit integrating react-native-firebase is here https://github.com/n-sviridenko/expo-firebase-demo/commit/47b9db960995aac0f77d893669469ca14a77ad36
Update: The error I'm getting is always different. Now, it's Error: Interfacecom.google.android.gms.internal.measurement.zzq(classpath class)used as super class of com.google.android.gms.internal.measurement.zzcm.
Wow, I went to see what was going on in Expo-land and ...no way I'd wade into gradle upgrades they don't approve: https://github.com/expo/expo/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+gradle
Oof!
Here's the thing. Our of our normal dependency matrix between react-native + react-native-firebase + google firebase sdks, I think the least important is the react-native one
What I mean by that, is that I think you can most safely try violating the react-native constraints and using non-specified tech there.
And you can always use older versions of react-native-firebase and google firebase sdks, at your peril for dealing with fixed bugs, and as long as they line up.
So I'd go with current whatever react-native expo requests, doing it the way they want. Then for whatever version you landed on, try corresponding RNFB and Google FB stuff. Maybe it works?
But Expo has some pretty hard version requirements as does react-native-firebase. And we have a serious and vital job keeping up with google current, making older stuff work in dependency tangles, I personally don't have the time for it except to say it might be possible. RNFB and Google SDKs worked back then right?
So I'm going to close this but if discussion continues and there's an eventual result of a nice doc snippet that explains what exact versions of RN+RNFB+Google Firebase work with what versions of Expo, that's useful and maybe we can put it somewhere?