Quellcode durchsuchen

fix(spm): Add explicit SwiftPM dependencies to avoid undefined symbols (#15287)

Nick Cooke vor 6 Monaten
Ursprung
Commit
dba582f206
4 geänderte Dateien mit 20 neuen und 0 gelöschten Zeilen
  1. 4 0
      Crashlytics/CHANGELOG.md
  2. 4 0
      FirebasePerformance/CHANGELOG.md
  3. 4 0
      FirebaseRemoteConfig/CHANGELOG.md
  4. 8 0
      Package.swift

+ 4 - 0
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)
 

+ 4 - 0
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)
 

+ 4 - 0
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)

+ 8 - 0
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,13 @@ 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"),
         .product(name: "GULEnvironment", package: "GoogleUtilities"),