From b3e54e415e6ef9770b7acfb7f347044d9d842de1 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 3 Sep 2025 12:05:08 -0400 Subject: [PATCH 1/3] fix(spm): Add explicit SwiftPM dependencies to avoid undefined symbols (#15276) --- Package.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Package.swift b/Package.swift index 67247393177..c515b60b90f 100644 --- a/Package.swift +++ b/Package.swift @@ -1003,6 +1003,7 @@ let package = Package( "FirebaseABTesting", "FirebaseInstallations", "FirebaseRemoteConfigInterop", + .product(name: "GULEnvironment", package: "GoogleUtilities"), .product(name: "GULNSData", package: "GoogleUtilities"), ], path: "FirebaseRemoteConfig/Sources", @@ -1100,6 +1101,7 @@ let package = Package( "FirebaseInstallations", "FirebaseCoreExtension", "FirebaseSessionsObjC", + .product(name: "nanopb", package: "nanopb"), .product(name: "Promises", package: "Promises"), .product(name: "GoogleDataTransport", package: "GoogleDataTransport"), .product(name: "GULEnvironment", package: "GoogleUtilities"), From 29533399fe2664005f4fb42a99c6aa305897198d Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 3 Sep 2025 12:15:12 -0400 Subject: [PATCH 2/3] changelog updates --- Crashlytics/CHANGELOG.md | 4 ++++ FirebasePerformance/CHANGELOG.md | 4 ++++ FirebaseRemoteConfig/CHANGELOG.md | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/Crashlytics/CHANGELOG.md b/Crashlytics/CHANGELOG.md index 777e07cd8b1..b4d4bbf8c5e 100644 --- a/Crashlytics/CHANGELOG.md +++ b/Crashlytics/CHANGELOG.md @@ -1,3 +1,7 @@ +# Unreleased +- [fixed] Add missing nanopb dependency to fix SwiftPM builds when building + dynamically linked libraries. (#15276) + # 12.1.0 - [fixed] Do not log using raw print in an internal class. (#15138) diff --git a/FirebasePerformance/CHANGELOG.md b/FirebasePerformance/CHANGELOG.md index 6ac0cee960b..14dbbbb3a16 100644 --- a/FirebasePerformance/CHANGELOG.md +++ b/FirebasePerformance/CHANGELOG.md @@ -1,3 +1,7 @@ +# Unreleased +- [fixed] Add missing nanopb dependency to fix SwiftPM builds when building + dynamically linked libraries. (#15276) + # 11.6.0 - [fixed] Fix a crash related to registering for notifications when the app is between foreground or background states. (#13174) diff --git a/FirebaseRemoteConfig/CHANGELOG.md b/FirebaseRemoteConfig/CHANGELOG.md index 36ced2c9a19..f5db5a0a572 100644 --- a/FirebaseRemoteConfig/CHANGELOG.md +++ b/FirebaseRemoteConfig/CHANGELOG.md @@ -1,3 +1,7 @@ +# Unreleased +- [fixed] Add missing GoogleUtilities dependency to fix SwiftPM builds when + building dynamically linked libraries. (#15276) + # 12.2.0 - [fixed] Fixed a race condition that could lead to a crash during network session recreation. (#15087) From 19082471fba40df5a49a22bd64f94d60a22dd169 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Thu, 4 Sep 2025 13:12:56 -0400 Subject: [PATCH 3/3] Update Package.swift --- Package.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Package.swift b/Package.swift index c515b60b90f..8336778a177 100644 --- a/Package.swift +++ b/Package.swift @@ -1101,6 +1101,12 @@ let package = Package( "FirebaseInstallations", "FirebaseCoreExtension", "FirebaseSessionsObjC", + // The `FirebaseSessions` target transitively depends on nanopb via the internal + // `FirebaseSessionsObjC` target. Not explicitly depending on nanopb leads to + // undefined symbol errors in Tuist based SPM builds. + // See the conversations in + // - https://github.com/firebase/firebase-ios-sdk/issues/15276 + // - https://github.com/firebase/firebase-ios-sdk/pull/15287 .product(name: "nanopb", package: "nanopb"), .product(name: "Promises", package: "Promises"), .product(name: "GoogleDataTransport", package: "GoogleDataTransport"),