-
Notifications
You must be signed in to change notification settings - Fork 62
Description
Description
The iOS build fails during the prebuild or build process after adding @react-native-firebase/app to a project that already uses react-native-star-io10. The root cause appears to be an incompatibility with the useFrameworks: "static" setting that React Native Firebase requires. This setting seems to break the react-native-star-io10 Pod, causing widespread "file not found" and "Could not build module" errors for standard system headers.
Your device where the bug occurs
This is a build-time error, not a runtime error. It occurs on the development machine during the iOS compilation process (npx expo prebuild).
- Device: Apple MacBook Pro (M-series chip)
- OS: macOS
Your printer
- Model Names: N/A (Build-time issue)
- Firmware Version: N/A
- Interface: N/A
Your development environment
macOS Version:
ProductName: macOS
ProductVersion: 15.3.1
BuildVersion: 24D70React Native Info:
System:
OS: macOS 15.3.1
CPU: (10) arm64 Apple M2 Pro
Memory: 211 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 22.13.0 - /opt/homebrew/bin/node
Yarn: Not Found
npm: 10.9.2 - /opt/homebrew/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.15.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 17.5, macOS 14.5, tvOS 17.5, watchOS 10.5
Android SDK: Not Found
IDEs:
Android Studio: 2023.2 AI-232.10300.40.2332.11709569
Xcode: 15.4/15F31d - /usr/bin/xcodebuild
Languages:
Java: 17.0.9 - /usr/bin/javac
Ruby: 3.3.0 - /Users/huybui/.rbenv/shims/ruby
npmPackages:
@react-native-community/cli: Not Found
react: 18.2.0 => 18.2.0
react-native: 0.74.1 => 0.74.1
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
Expo:
expo: ~51.0.8 => 51.0.8
@expo/cli: 0.18.17
eas-cli: 9.1.0
expo-dev-client: ~4.0.14 => 4.0.14
expo-doctor: ~1.6.0 => 1.6.0
expo-updates: ~0.25.11 => 0.25.11
react-dom: 18.2.0 => 18.2.0
react-native-web: ~0.19.10 => 0.19.10
Project:
@react-native-firebase/app: 19.2.2
@react-native-firebase/auth: 19.2.2
react-native-star-io10: 1.10.0To Reproduce
Steps to reproduce the behavior:
- Create a new, clean Expo project and install
react-native-star-io10. - Run
npx expo prebuildto confirm the project builds correctly for iOS. - Install React Native Firebase:
pnpm add @react-native-firebase/app @react-native-firebase/auth. - Configure your
app.config.jsto include the@react-native-firebase/appplugin and theexpo-build-propertiesplugin to setuseFrameworks: "static"for iOS, as required by Firebase."plugins": [ "@react-native-firebase/app", [ "expo-build-properties", { "ios": { "useFrameworks": "static" } } ] ]
- Run a clean prebuild command:
npx expo prebuild --clean. - The command fails during the iOS Pod installation and compilation phase.
- See errors like:
❌ Pods/react-native-star-io10: 'limits' file not foundand❌ Pods/react-native-star-io10: Could not build module 'UIKit'.
Expected behavior
The project should prebuild and compile successfully for iOS, allowing both react-native-star-io10 and @react-native-firebase/app to be used together.
Additional context
The core of the issue seems to be that react-native-star-io10 is not compatible with the useFrameworks: "static" setting in CocoaPods. This setting is a hard requirement for @react-native-firebase/app to function correctly. When this setting is enabled, it appears to break the header search paths for the react-native-star-io10 Pod, preventing it from finding standard C++ (limits) and Apple system frameworks (UIKit, Foundation, etc.), leading to a catastrophic build failure.