Skip to content

iOS Build Failure: react-native-star-io10 is incompatible with useFrameworks: 'static' required by Firebase #147

@quochuy278

Description

@quochuy278

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:		24D70

React 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.0

To Reproduce

Steps to reproduce the behavior:

  1. Create a new, clean Expo project and install react-native-star-io10.
  2. Run npx expo prebuild to confirm the project builds correctly for iOS.
  3. Install React Native Firebase: pnpm add @react-native-firebase/app @react-native-firebase/auth.
  4. Configure your app.config.js to include the @react-native-firebase/app plugin and the expo-build-properties plugin to set useFrameworks: "static" for iOS, as required by Firebase.
    "plugins": [
      "@react-native-firebase/app",
      [
        "expo-build-properties",
        {
          "ios": {
            "useFrameworks": "static"
          }
        }
      ]
    ]
  5. Run a clean prebuild command: npx expo prebuild --clean.
  6. The command fails during the iOS Pod installation and compilation phase.
  7. See errors like: ❌ Pods/react-native-star-io10: 'limits' file not found and ❌ 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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions