EAS build failing when trying to integrate with react-native-firebase

I am trying to integrate firebase analytics into an application following the documentation steps and initially I got the following error after running eas build when installing the pods:

[!] The following Swift pods cannot yet be integrated as static libraries:
The Swift pod FirebaseCoreInternal depends upon GoogleUtilities, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set use_modular_headers! globally in your Podfile, or specify :modular_headers => true for particular dependencies.

After looking up for solutions online I saw that some people recommended using the expo-build-properties plugin to change the podfile settings for the use_fraweworks option and set it to static.

I tried running eas build again and then the pod install step stopped failing but then I got this on the fastlane compilation process (which now seems to be an issue with react-native-google-maps):

Compiling react-native-maps Pods/react-native-google-maps » AIRGoogleMapPolylineManager.m
2164
:x: (node_modules/react-native-maps/ios/AirGoogleMaps/AIRGoogleMapPolylineManager.m:17:9)
15 | #import <React/RCTViewManager.h>
16 | #import <React/UIView+React.h>
17 | #import “RCTConvert+AirMap.h”
| ^ ‘RCTConvert+AirMap.h’ file not found
18 | #import “AIRGoogleMapPolyline.h”
19 |
20 | @interface AIRGoogleMapPolylineManager()
2165
› Compiling react-native-maps Pods/react-native-google-maps » AIRGoogleMapPolyline.m
2166
:warning: (/Users/expo/workingdir/build/ios/build/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-google-maps.build/Objects-normal/x86_64/AIRGoogleMapPolyline.dia:1:1)
CompileC /Users/expo/workingdir/build/ios/build/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-google-maps.build/Objects-normal/x86_64/AIRGoogleMapPoly…
^ Could not read serialized diagnostics file: error(in target ‘react-native-google-maps’ from project ‘Pods’)
(warning truncated)

Does anyone has any idea on how to proceed?

Expo SDK v46 (Managed Workflow)
eas-cli@2.1.0
node v16.16.0
yarn v1.22.19

I am having the same exact issue. Were you able to find a solution @wesleyrafael ?

I am also stuck at the run fastlane step with “‘RCTConvert+AirMap.h’ file not found” error!

this appears to be an incompatibility in react-native-maps and use_frameworks: use_frameworks! issues with react-native-maps RN 0.69.3 · Issue #4380 · react-native-maps/react-native-maps · GitHub

Thanks @brents ! However, removing static useFrameworks then leads to the first problem @wesleyrafael pointed out. So we are pretty much stuck in between solving for expo-firebase-analytics or react-native-maps… Any thoughts on how to solve the expo-firebase-analytics problem without the static useFrameworks solution?

it looks like you can use react-native-maps@1.3.2-beta.1, released yesterday with a fix for this: Release v1.3.2-beta.1 · react-native-maps/react-native-maps · GitHub

expo tools will warn you about the version being different from what we recommend for the sdk but that is fine given that this is a conscious choice. your app may not load as expected in expo go, but presumably you’re using development builds if you’re using react-native-firebase anyhow

1 Like

Thanks @brents ! I alternatively downgraded expo-firebase-analytics to 7.1.1 to get rid of the " Swift pod FirebaseCoreInternal depends upon GoogleUtilities" error Wesley pointed out and eas build works now. react-native-maps also doesn’t fail as I didn’t have to implement static useFrameworks.

The new version v1.3.2-beta.1 for react-native-maps didn’t help at all, we’re still stuck with “RCTConvert+AirMap.h” file not found.