Skip to content

iOS Podfile generates invalid FirebaseFirestore dependency causing build failures #6641

@sdschroeder

Description

@sdschroeder

Can we access your project?

  • I give permission for members of the FlutterFlow team to access and test my project for the sole purpose of investigating this issue.

Current Behavior

FlutterFlow's iOS code generation includes a problematic custom FirebaseFirestore dependency in the Podfile that causes undefined symbol errors and version conflicts during iOS builds.

The generated Podfile at line 37 contains:
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '11.13.0'

This causes:

  1. Undefined symbol errors: OBJC_CLASS$_FIRSnapshotListenOptions and OBJC_CLASS$_FIRVectorValue
  2. Version conflicts with FirebaseSharedSwift (11.13.0 vs 11.15.0)
  3. Installation of incorrect binary frameworks (FirebaseFirestoreBinary, FirebaseFirestoreGRPCCPPBinary) instead of proper source packages (FirebaseFirestoreInternal, gRPC-C++, gRPC-Core)

The cloud_firestore Flutter plugin already manages Firebase dependencies correctly via its native podspec. This custom line interferes with that and breaks the build.

Expected Behavior

The Podfile should use standard Firebase dependencies without custom git sources. The flutter_install_all_ios_pods call should handle all Firebase dependencies automatically based on the pubspec.yaml configuration and the cloud_firestore plugin's podspec.

Steps to Reproduce

  1. Create or open any FlutterFlow project with Firebase/Firestore integration
  2. Export/download the project for local testing OR use FlutterFlow's local test mode
  3. Navigate to the ios directory
  4. Run: pod install
  5. Observe: "Pre-downloading: FirebaseFirestore from https://github.com/invertase/firestore-ios-sdk-frameworks.git"
  6. Run: flutter build ios --simulator OR flutter run
  7. Build fails with:
    • Error (Xcode): Undefined symbol: OBJC_CLASS$_FIRSnapshotListenOptions
    • Error (Xcode): Undefined symbol: OBJC_CLASS$_FIRVectorValue
    • Error (Xcode): Linker command failed with exit code 1

Reproducible from Blank

  • The steps to reproduce above start from a blank project.

Bug Report Code (Required)

IT40kPLqy4hJpbxD7arqcvlahio5KVh9bLg7j+1BaCgoF5jpD7MAdvWkN05vXbC7T2NfMUSmmkwxpMrIvYaWJvA3CzmubKJgz7oJZjmWQmOue5OBCZOKVHNfEd1MJnKw0p6JhRNSNvVoSF4G2lOQN9yRdBTaQpDUImdISq/LZO4=

Visual documentation

Error:
Error (Xcode): Undefined symbol: OBJC_CLASS$_FIRSnapshotListenOptions
Error (Xcode): Undefined symbol: OBJC_CLASS$_FIRVectorValue
Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation)
Could not build the application for the simulator.

CocoaPods Version Conflict:
[!] CocoaPods could not find compatible versions for pod "FirebaseSharedSwift":
In snapshot (Podfile.lock):
FirebaseSharedSwift (= 11.15.0, ~> 11.0)

In Podfile:
FirebaseFirestore (from https://github.com/invertase/firestore-ios-sdk-frameworks.git, tag 11.13.0) was resolved to 11.13.0, which depends on
FirebaseFirestoreBinary (= 11.13.0) was resolved to 11.13.0, which depends on
FirebaseSharedSwift (= 11.13.0)

Specs satisfying the FirebaseSharedSwift (= 11.15.0, ~> 11.0), FirebaseSharedSwift (= 11.13.0) dependency were found, but they required a higher minimum deployment target.

Workaround:
Manual fix required after every code generation:

  1. Edit ios/Podfile
  2. Remove line 37: pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '11.13.0'
  3. Run:
    cd ios
    rm -rf Pods Podfile.lock
    pod install
  4. Build succeeds with correct packages: FirebaseFirestoreInternal, gRPC-C++, gRPC-Core (not binary versions)

However, this workaround is lost every time FlutterFlow regenerates the code or when running flutter commands.

Created a fix script that must be run before every build:
https://github.com/FlutterFlow/flutterflow-issues/issues/[to be filled]

Environment

- FlutterFlow version: Version 6.3.41 (6.3.41)
- Platform: MacOS Desktop
- Browser name and version: Brave/Chrome
- Operating system and version affected: MacOS 15.5

Additional Information

This is a critical issue that affects:

  • All FlutterFlow projects using Firebase/Firestore
  • Local testing in FlutterFlow
  • Exported projects for manual builds
  • CI/CD pipelines
  • App Store/TestFlight deployment

Root Cause:
The custom git source points to binary framework distributions that are incompatible with the standard CocoaPods Firebase SDK distribution. The invertase/firestore-ios-sdk-frameworks repo provides pre-built binaries that cause linker errors.

Recommended Solution:
Remove the custom pod line from FlutterFlow's iOS Podfile template. The cloud_firestore plugin (v5.6.9) already correctly specifies Firebase dependencies in its podspec, which will automatically pull the correct Firebase SDK version (11.13.0) from CocoaPods trunk.

Impact: HIGH - Blocks iOS development for all Firebase users
Cannot build iOS app without manual intervention after every code generation

Standard FlutterFlow project with Firebase integration

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions