Skip to content

iOS Package.resolved churn across machines with same Flutter app #183231

@AlexDochioiu

Description

@AlexDochioiu

What happened?

In a Flutter iOS project, ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved changed unexpectedly on one machine, while a teammate did not see the same change.

The file changed to a different Swift package resolution (example from my local diff):

  • flutterfire changed from 4.5.0-firebase-core-swift to 4.4.0-firebase-core-swift
  • csqlite was added
  • swift-collections was removed

This looked like non-deterministic SwiftPM resolution across environments.

Steps to reproduce

  1. Open a Flutter app with Firebase plugins on iOS (ios/Runner.xcworkspace).
  2. Trigger package resolution in Xcode.
  3. Compare Package.resolved with a teammate on a different machine.

Expected results

Package.resolved should be stable for the same Flutter dependency set, or Flutter tooling should avoid unexpected churn in this file.

Actual results

One machine got Package.resolved changes while another did not.

Workaround

Running these commands removed the local Package.resolved diff in my case:

  • flutter clean
  • flutter pub get

Version

Flutter 3.41.3 (stable)
Dart 3.11.1
Xcode 26.3 (Build 17C529)
Swift 6.2.4

Additional context

Could this be caused by toolchain-specific SwiftPM resolution differences? If yes, is there recommended guidance from Flutter to avoid Package.resolved churn between teammates?

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs repro infoAutomated crash report whose cause isn't yet knownplatform-iosiOS applications specificallywaiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions